diff --git a/curriculum/challenges/chinese-traditional/02-javascript-algorithms-and-data-structures/object-oriented-programming/understand-own-properties.md b/curriculum/challenges/chinese-traditional/02-javascript-algorithms-and-data-structures/object-oriented-programming/understand-own-properties.md index 69089faba7..dadbdbc400 100644 --- a/curriculum/challenges/chinese-traditional/02-javascript-algorithms-and-data-structures/object-oriented-programming/understand-own-properties.md +++ b/curriculum/challenges/chinese-traditional/02-javascript-algorithms-and-data-structures/object-oriented-programming/understand-own-properties.md @@ -12,7 +12,7 @@ dashedName: understand-own-properties ```js function Bird(name) { - this.name = name; + this.name = name; this.numLegs = 2; } diff --git a/curriculum/challenges/chinese/02-javascript-algorithms-and-data-structures/object-oriented-programming/understand-own-properties.md b/curriculum/challenges/chinese/02-javascript-algorithms-and-data-structures/object-oriented-programming/understand-own-properties.md index 0a344c37b9..82aa1a437d 100644 --- a/curriculum/challenges/chinese/02-javascript-algorithms-and-data-structures/object-oriented-programming/understand-own-properties.md +++ b/curriculum/challenges/chinese/02-javascript-algorithms-and-data-structures/object-oriented-programming/understand-own-properties.md @@ -12,7 +12,7 @@ dashedName: understand-own-properties ```js function Bird(name) { - this.name = name; + this.name = name; this.numLegs = 2; } diff --git a/curriculum/challenges/espanol/02-javascript-algorithms-and-data-structures/object-oriented-programming/understand-own-properties.md b/curriculum/challenges/espanol/02-javascript-algorithms-and-data-structures/object-oriented-programming/understand-own-properties.md index 90b4ccb13d..6757c73104 100644 --- a/curriculum/challenges/espanol/02-javascript-algorithms-and-data-structures/object-oriented-programming/understand-own-properties.md +++ b/curriculum/challenges/espanol/02-javascript-algorithms-and-data-structures/object-oriented-programming/understand-own-properties.md @@ -12,7 +12,7 @@ En el siguiente ejemplo, el constructor `Bird` define dos propiedades: `name` y ```js function Bird(name) { - this.name = name; + this.name = name; this.numLegs = 2; } diff --git a/curriculum/challenges/espanol/06-quality-assurance/quality-assurance-and-testing-with-chai/test-if-a-value-falls-within-a-specific-range.md b/curriculum/challenges/espanol/06-quality-assurance/quality-assurance-and-testing-with-chai/test-if-a-value-falls-within-a-specific-range.md index 7cddc15804..7469c374b8 100644 --- a/curriculum/challenges/espanol/06-quality-assurance/quality-assurance-and-testing-with-chai/test-if-a-value-falls-within-a-specific-range.md +++ b/curriculum/challenges/espanol/06-quality-assurance/quality-assurance-and-testing-with-chai/test-if-a-value-falls-within-a-specific-range.md @@ -1,6 +1,6 @@ --- id: 587d824c367417b2b2512c4f -title: Test if a Value Falls within a Specific Range +title: Compueba si un valor está dentro de un rango específico challengeType: 2 forumTopicId: 301598 dashedName: test-if-a-value-falls-within-a-specific-range @@ -8,23 +8,23 @@ dashedName: test-if-a-value-falls-within-a-specific-range # --description-- -As a reminder, this project is being built upon the following starter project on [Replit](https://replit.com/github/freeCodeCamp/boilerplate-mochachai), or cloned from [GitHub](https://github.com/freeCodeCamp/boilerplate-mochachai/). +Como recordatorio, este proyecto está siendo construido con base en el siguiente proyecto inicial [Repl.it](https://replit.com/github/freeCodeCamp/boilerplate-mochachai), o clonado desde [GitHub](https://github.com/freeCodeCamp/boilerplate-mochachai/). ```javascript .approximately(actual, expected, delta, [message]) ``` -Asserts that the `actual` is equal to `expected`, to within a +/- `delta` range. +Comprueba que `actual` es igual a `expected`, dentro de un rango +/- `delta`. # --instructions-- -Within `tests/1_unit-tests.js` under the test labelled `#10` in the `Comparisons` suite, change each `assert` to `assert.approximately` to make the test pass (should evaluate to `true`). +Dentro de `tests/1_unit-tests.js` bajo la prueba etiquetada `#10` en `Comparisons` suite, cambiar cada `assert` a `assert.approximately` para que el test sea superado (debe evaluarse a `true`). -Choose the minimum range (3rd parameter) to make the test always pass. It should be less than 1. +Elija el rango mínimo (3er parámetro), para hacer que la prueba sea superada. Esto debe ser inferior a 1. # --hints-- -All tests should pass. +Todas las pruebas deben pasar. ```js (getUserInput) => @@ -38,7 +38,7 @@ All tests should pass. ); ``` -You should choose the correct range for the first assertion - `approximately(actual, expected, range)`. +Debe elegir el rango correcto para la primera aserción - `approximately(actual, expected, range)`. ```js (getUserInput) => @@ -57,7 +57,7 @@ You should choose the correct range for the first assertion - `approximately(act ); ``` -You should choose the correct range for the second assertion - `approximately(actual, expected, range)`. +Debe elegir el rango correcto para la segunda aserción - `approximately(actual, expected, range)`. ```js (getUserInput) => diff --git a/curriculum/challenges/espanol/06-quality-assurance/quality-assurance-projects/american-british-translator.md b/curriculum/challenges/espanol/06-quality-assurance/quality-assurance-projects/american-british-translator.md index 5f932d6168..bbd6c2def0 100644 --- a/curriculum/challenges/espanol/06-quality-assurance/quality-assurance-projects/american-british-translator.md +++ b/curriculum/challenges/espanol/06-quality-assurance/quality-assurance-projects/american-british-translator.md @@ -1,6 +1,6 @@ --- id: 5e601c0d5ac9d0ecd8b94afe -title: American British Translator +title: Traductor británico americano challengeType: 4 forumTopicId: 462358 dashedName: american-british-translator @@ -8,62 +8,62 @@ dashedName: american-british-translator # --description-- -Build a full stack JavaScript app that is functionally similar to this: . Working on this project will involve you writing your code using one of the following methods: +Construye una aplicación full stack de JavaScript que sea funcionalmente similar a esta: . Trabajar en este proyecto implicará escribir tu código utilizando uno de los siguientes métodos: -- Clone [this GitHub repo](https://github.com/freeCodeCamp/boilerplate-project-american-british-english-translator/) and complete your project locally. -- Use [our Replit starter project](https://replit.com/github/freeCodeCamp/boilerplate-project-american-british-english-translator) to complete your project. -- Use a site builder of your choice to complete the project. Be sure to incorporate all the files from our GitHub repo. +- Clona [este repositorio de GitHub](https://github.com/freeCodeCamp/boilerplate-project-american-british-english-translator/) y completa tu proyecto localmente. +- Usa [nuestro proyecto inicial de Replit](https://replit.com/github/freeCodeCamp/boilerplate-project-american-british-english-translator) para completar tu proyecto. +- Usa un constructor de sitios de tu elección para completar el proyecto. Asegúrate de incorporar todos los archivos de nuestro repositorio GitHub. -When you are done, make sure a working demo of your project is hosted somewhere public. Then submit the URL to it in the `Solution Link` field. Optionally, also submit a link to your project's source code in the `GitHub Link` field. +Cuando hayas terminado, asegúrate de que un demo funcional de tu proyecto esté alojado en algún lugar público. Luego, ingresa la URL en el campo `Solution Link`. Opcionalmente, también ingresa un enlace al código fuente de tu proyecto en el campo `GitHub Link`. # --instructions-- -- All logic can go into `/components/translator.js` -- Complete the `/api/translate` route in `/routes/api.js` -- Create all of the unit/functional tests in `tests/1_unit-tests.js` and `tests/2_functional-tests.js` -- See the JavaScript files in `/components` for the different spelling and terms your application should translate -- To run the tests on Replit, set `NODE_ENV` to `test` without quotes in the `.env` file -- To run the tests in the console, use the command `npm run test`. To open the Replit console, press Ctrl+Shift+P (Cmd if on a Mac) and type "open shell" +- Toda la lógica puede ir en `/components/translator.js` +- Completa la ruta `/api/translate` en `/routes/api.js` +- Crea todas las pruebas unitarias/funcionales en `tests/1_unit-tests.js` y `tests/2_functional-tests.js` +- Consulta los archivos de JavaScript en `/components` para ver las diferentes ortografías y términos que debe traducir tu aplicación +- Para ejecutar las pruebas en Replit, establece a `test` `NODE_ENV` sin comillas en el archivo `.env` +- Para ejecutar las pruebas en la consola, usa el comando `npm run test`. Para abrir la consola de Replit presiona Ctrl+Shift+P (Cmd si estas en Mac) y escribe "open shell" -Write the following tests in `tests/1_unit-tests.js`: +Escribe las siguientes pruebas en `tests/1_unit-tests.js`: -- Translate `Mangoes are my favorite fruit.` to British English -- Translate `I ate yogurt for breakfast.` to British English -- Translate `We had a party at my friend's condo.` to British English -- Translate `Can you toss this in the trashcan for me?` to British English -- Translate `The parking lot was full.` to British English -- Translate `Like a high tech Rube Goldberg machine.` to British English -- Translate `To play hooky means to skip class or work.` to British English -- Translate `No Mr. Bond, I expect you to die.` to British English -- Translate `Dr. Grosh will see you now.` to British English -- Translate `Lunch is at 12:15 today.` to British English -- Translate `We watched the footie match for a while.` to American English -- Translate `Paracetamol takes up to an hour to work.` to American English -- Translate `First, caramelise the onions.` to American English -- Translate `I spent the bank holiday at the funfair.` to American English -- Translate `I had a bicky then went to the chippy.` to American English -- Translate `I've just got bits and bobs in my bum bag.` to American English -- Translate `The car boot sale at Boxted Airfield was called off.` to American English -- Translate `Have you met Mrs Kalyani?` to American English -- Translate `Prof Joyner of King's College, London.` to American English -- Translate `Tea time is usually around 4 or 4.30.` to American English -- Highlight translation in `Mangoes are my favorite fruit.` -- Highlight translation in `I ate yogurt for breakfast.` -- Highlight translation in `We watched the footie match for a while.` -- Highlight translation in `Paracetamol takes up to an hour to work.` +- Traduce `Mangoes are my favorite fruit.` al inglés británico +- Traduce `I ate yogurt for breakfast.` al inglés británico +- Traduce `We had a party at my friend's condo.` al inglés británico +- Traduce `Can you toss this in the trashcan for me?` al inglés británico +- Traduce `The parking lot was full.` a Inglés británico +- Traduce `Like a high tech Rube Goldberg machine.` al inglés británico +- Traduce `To play hooky means to skip class or work.` al inglés británico +- Traduce `No Mr. Bond, I expect you to die.` a Inglés británico +- Traduce `Dr. Grosh will see you now.` a Inglés británico +- Traduce `Lunch is at 12:15 today.` al inglés británico +- Traduce `We watched the footie match for a while.` al inglés americano +- Traduce `Paracetamol takes up to an hour to work.` al inglés americano +- Traduce `First, caramelise the onions.` al inglés americano +- Traduce `I spent the bank holiday at the funfair.` al inglés americano +- Traduce `I had a bicky then went to the chippy.` a Inglés Americano +- Traduce `I've just got bits and bobs in my bum bag.` al inglés americano +- Traduce `The car boot sale at Boxted Airfield was called off.` al inglés americano +- Traduce `Have you met Mrs Kalyani?` al inglés americano +- Traduce `Prof Joyner of King's College, London.` al inglés americano +- Traduce `Tea time is usually around 4 or 4.30.` al inglés americano +- Resalta la traducción en `Mangoes are my favorite fruit.` +- Resalta la traducción en `I ate yogurt for breakfast.` +- Resalta la traducción en `We watched the footie match for a while.` +- Resalta la traducción en `Paracetamol takes up to an hour to work.` -Write the following tests in `tests/2_functional-tests.js`: +Escribe las siguientes pruebas en `tests/2_functional-tests.js`: -- Translation with text and locale fields: POST request to `/api/translate` -- Translation with text and invalid locale field: POST request to `/api/translate` -- Translation with missing text field: POST request to `/api/translate` -- Translation with missing locale field: POST request to `/api/translate` -- Translation with empty text: POST request to `/api/translate` -- Translation with text that needs no translation: POST request to `/api/translate` +- Traducción con campos de texto y configuración regional: solicitud POST a `/api/translate` +- Traducción con texto y campo de configuración regional no válido: solicitud POST a `/api/translate` +- Traducción con campo de texto faltante: solicitud POST a `/api/translate` +- Traducción sin campo de configuración regional: solicitud POST a `/api/translate` +- Traducción con texto vacío: solicitud POST a `/api/translate` +- Traducción con texto que no necesita traducción: solicitud POST a `/api/translate` # --hints-- -I can provide my own project, not the example URL. +Puedo proporcionar mi propio proyecto, no la URL de ejemplo. ```js (getUserInput) => { @@ -75,7 +75,7 @@ I can provide my own project, not the example URL. }; ``` -You can `POST` to `/api/translate` with a body containing `text` with the text to translate and `locale` with either `american-to-british` or `british-to-american`. The returned object should contain the submitted `text` and `translation` with the translated text. +Puedes `POST` a `/api/translate` con un cuerpo que contenga `text` con el texto para traducir y `locale` con `american-to-british` o `british-to-american`. El objeto devuelto debe contener el `text` agregado y la `translation` con el texto traducido. ```js async (getUserInput) => { @@ -103,7 +103,7 @@ async (getUserInput) => { }; ``` -The `/api/translate` route should handle the way time is written in American and British English. For example, ten thirty is written as "10.30" in British English and "10:30" in American English. The `span` element should wrap the entire time string, i.e. `10:30`. +La ruta `/api/translate` debe manejar la forma en que se escribe la hora en inglés americano y británico. Por ejemplo, diez treinta se escribe como "10.30" en inglés británico y "10:30" en inglés americano. El elemento `span` debe envolver toda la cadena de tiempo, es decir, `10:30`. ```js async (getUserInput) => { @@ -130,7 +130,7 @@ async (getUserInput) => { }; ``` -The `/api/translate` route should also handle the way titles/honorifics are abbreviated in American and British English. For example, Doctor Wright is abbreviated as "Dr Wright" in British English and "Dr. Wright" in American English. See `/components/american-to-british-titles.js` for the different titles your application should handle. +La ruta `/api/translate` también debe manejar la forma en que los títulos/honoríficos se abrevian en inglés americano y británico. Por ejemplo, Doctor Wright es abreviado como "Dr Wright" en inglés británico y "Dr. Wright" en inglés americano. Consulta `/components/american-to-british-titles.js` para los diferentes títulos que tu aplicación debe manejar. ```js async (getUserInput) => { @@ -157,7 +157,7 @@ async (getUserInput) => { }; ``` -Wrap any translated spelling or terms with `...` tags so they appear in green. +Envuelve cualquier ortografía traducida o término con las etiquetas `...` para que aparezcan en verde. ```js async (getUserInput) => { @@ -185,7 +185,7 @@ async (getUserInput) => { }; ``` -If one or more of the required fields is missing, return `{ error: 'Required field(s) missing' }`. +Si faltan uno o más de los campos requeridos, devuelve `{ error: 'Required field(s) missing' }`. ```js async (getUserInput) => { @@ -206,7 +206,7 @@ async (getUserInput) => { }; ``` -If `text` is empty, return `{ error: 'No text to translate' }` +Si `text` está vacío, devuelve `{ error: 'No text to translate' }` ```js async (getUserInput) => { @@ -227,7 +227,7 @@ async (getUserInput) => { }; ``` -If `locale` does not match one of the two specified locales, return `{ error: 'Invalid value for locale field' }`. +Si `locale` no coincide con uno de los dos locales especificados, devuelve `{ error: 'Invalid value for locale field' }`. ```js async (getUserInput) => { @@ -249,7 +249,7 @@ async (getUserInput) => { }; ``` -If `text` requires no translation, return `"Everything looks good to me!"` for the `translation` value. +Si `text` no requiere traducción, devuelve `"Everything looks good to me!"` para el valor `translation`. ```js async (getUserInput) => { @@ -276,7 +276,7 @@ async (getUserInput) => { }; ``` -All 24 unit tests are complete and passing. See `/tests/1_unit-tests.js` for the expected behavior you should write tests for. +Las 24 unidades de prueba están completas y pasan. Consulta `/tests/1_unit-tests.js` para el comportamiento esperado del cual debes escribir pruebas. ```js async (getUserInput) => { @@ -301,7 +301,7 @@ async (getUserInput) => { }; ``` -All 6 functional tests are complete and passing. See `/tests/2_functional-tests.js` for the functionality you should write tests for. +Las 6 pruebas funcionales están completas y pasan. Consulta `/tests/2_functional-tests.js` para conocer la funcionalidad de la cual debes escribir pruebas. ```js async (getUserInput) => { diff --git a/curriculum/challenges/italian/02-javascript-algorithms-and-data-structures/object-oriented-programming/understand-own-properties.md b/curriculum/challenges/italian/02-javascript-algorithms-and-data-structures/object-oriented-programming/understand-own-properties.md index a9a6c2841f..f906745067 100644 --- a/curriculum/challenges/italian/02-javascript-algorithms-and-data-structures/object-oriented-programming/understand-own-properties.md +++ b/curriculum/challenges/italian/02-javascript-algorithms-and-data-structures/object-oriented-programming/understand-own-properties.md @@ -12,7 +12,7 @@ Nell'esempio seguente, il costruttore di `Bird` definisce due proprietà: `name` ```js function Bird(name) { - this.name = name; + this.name = name; this.numLegs = 2; } diff --git a/curriculum/challenges/japanese/00-certifications/back-end-development-and-apis-certification/back-end-development-and-apis-certification.yml b/curriculum/challenges/japanese/00-certifications/back-end-development-and-apis-certification/back-end-development-and-apis-certification.yml new file mode 100644 index 0000000000..ba07bab282 --- /dev/null +++ b/curriculum/challenges/japanese/00-certifications/back-end-development-and-apis-certification/back-end-development-and-apis-certification.yml @@ -0,0 +1,22 @@ +--- +id: 561add10cb82ac38a17523bc +title: バックエンド開発と API 認定証 +certification: back-end-development-and-apis +challengeType: 7 +isPrivate: true +tests: + - + id: bd7158d8c443edefaeb5bdef + title: タイムスタンプ マイクロサービス + - + id: bd7158d8c443edefaeb5bdff + title: リクエストヘッダーパーサー マイクロサービス + - + id: bd7158d8c443edefaeb5bd0e + title: URL 短縮マイクロサービス + - + id: 5a8b073d06fa14fcfde687aa + title: エクササイズ記録アプリ + - + id: bd7158d8c443edefaeb5bd0f + title: ファイルメタデータ マイクロサービス diff --git a/curriculum/challenges/japanese/00-certifications/data-analysis-with-python-certification/data-analysis-with-python-certification.yml b/curriculum/challenges/japanese/00-certifications/data-analysis-with-python-certification/data-analysis-with-python-certification.yml new file mode 100644 index 0000000000..9f049a20ee --- /dev/null +++ b/curriculum/challenges/japanese/00-certifications/data-analysis-with-python-certification/data-analysis-with-python-certification.yml @@ -0,0 +1,23 @@ +--- +id: 5e46fc95ac417301a38fb934 +title: Python によるデータ解析認定証 +certification: data-analysis-with-python +challengeType: 7 +isPrivate: true +tests: + - + id: 5e46f7e5ac417301a38fb928 + title: 平均・分散・標準偏差計算プログラム + - + id: 5e46f7e5ac417301a38fb929 + title: 人口統計データ分析プログラム + - + id: 5e46f7f8ac417301a38fb92a + title: 医療データの可視化プログラム + - + id: 5e46f802ac417301a38fb92b + title: ページビュー時系列の可視化プログラム + - + id: 5e4f5c4b570f7e3a4949899f + title: 海面水位の予測プログラム + diff --git a/curriculum/challenges/japanese/00-certifications/data-visualization-certification/data-visualization-certification.yml b/curriculum/challenges/japanese/00-certifications/data-visualization-certification/data-visualization-certification.yml new file mode 100644 index 0000000000..e9259fceb0 --- /dev/null +++ b/curriculum/challenges/japanese/00-certifications/data-visualization-certification/data-visualization-certification.yml @@ -0,0 +1,22 @@ +--- +id: 5a553ca864b52e1d8bceea14 +title: データ可視化認定証 +certification: data-visualization +challengeType: 7 +isPrivate: true +tests: + - + id: bd7168d8c242eddfaeb5bd13 + title: 棒グラフでデータを可視化する + - + id: bd7178d8c242eddfaeb5bd13 + title: 散布図でデータを可視化する + - + id: bd7188d8c242eddfaeb5bd13 + title: ヒートマップでデータを可視化する + - + id: 587d7fa6367417b2b2512bbf + title: 階級区分図でデータを可視化する + - + id: 587d7fa6367417b2b2512bc0 + title: ツリーマップ図でデータを可視化する diff --git a/curriculum/challenges/japanese/00-certifications/front-end-development-libraries-certification/front-end-development-libraries-certification.yml b/curriculum/challenges/japanese/00-certifications/front-end-development-libraries-certification/front-end-development-libraries-certification.yml new file mode 100644 index 0000000000..97ac50506a --- /dev/null +++ b/curriculum/challenges/japanese/00-certifications/front-end-development-libraries-certification/front-end-development-libraries-certification.yml @@ -0,0 +1,22 @@ +--- +id: 561acd10cb82ac38a17513bc +title: フロントエンド開発ライブラリ認定証 +certification: front-end-development-libraries +challengeType: 7 +isPrivate: true +tests: + - + id: bd7158d8c442eddfaeb5bd13 + title: ランダムクォートマシンを作成する + - + id: bd7157d8c242eddfaeb5bd13 + title: マークダウンプレビューアを作成する + - + id: 587d7dbc367417b2b2512bae + title: ドラムマシンを作成する + - + id: bd7158d8c442eddfaeb5bd17 + title: JavaScript 電卓を作成する + - + id: bd7158d8c442eddfaeb5bd0f + title: 25 + 5 クロックを作成する diff --git a/curriculum/challenges/japanese/00-certifications/information-security-certification/information-security-certification.yml b/curriculum/challenges/japanese/00-certifications/information-security-certification/information-security-certification.yml new file mode 100644 index 0000000000..79e46bf852 --- /dev/null +++ b/curriculum/challenges/japanese/00-certifications/information-security-certification/information-security-certification.yml @@ -0,0 +1,22 @@ +--- +id: 5e6021435ac9d0ecd8b94b00 +title: 情報セキュリティ認定証 +certification: information-security +challengeType: 7 +isPrivate: true +tests: + - + id: 587d824a367417b2b2512c44 + title: 株価チェッカー + - + id: 587d824a367417b2b2512c45 + title: 匿名メッセージボード + - + id: 5e46f979ac417301a38fb932 + title: ポートスキャナー + - + id: 5e46f983ac417301a38fb933 + title: SHA-1 パスワードクラッカー + - + id: 5e601c775ac9d0ecd8b94aff + title: セキュアなリアルタイムマルチプレイヤーゲーム diff --git a/curriculum/challenges/japanese/00-certifications/javascript-algorithms-and-data-structures-certification/javascript-algorithms-and-data-structures-certification.yml b/curriculum/challenges/japanese/00-certifications/javascript-algorithms-and-data-structures-certification/javascript-algorithms-and-data-structures-certification.yml new file mode 100644 index 0000000000..f5f75c3607 --- /dev/null +++ b/curriculum/challenges/japanese/00-certifications/javascript-algorithms-and-data-structures-certification/javascript-algorithms-and-data-structures-certification.yml @@ -0,0 +1,22 @@ +--- +id: 561abd10cb81ac38a17513bc +title: JavaScript のアルゴリズムとデータ構造認定証 +certification: javascript-algorithms-and-data-structures +challengeType: 7 +isPrivate: true +tests: + - + id: aaa48de84e1ecc7c742e1124 + title: 回文チェッカー + - + id: a7f4d8f2483413a6ce226cac + title: ローマ数字への変換 + - + id: 56533eb9ac21ba0edf2244e2 + title: シーザー暗号 + - + id: aff0395860f5d3034dc0bfc9 + title: 電話番号の検証 + - + id: aa2e6f85cab2ab736c9a9b24 + title: キャッシュレジスター diff --git a/curriculum/challenges/japanese/00-certifications/legacy-back-end-certification/legacy-back-end-certification.yml b/curriculum/challenges/japanese/00-certifications/legacy-back-end-certification/legacy-back-end-certification.yml new file mode 100644 index 0000000000..e58edf39e3 --- /dev/null +++ b/curriculum/challenges/japanese/00-certifications/legacy-back-end-certification/legacy-back-end-certification.yml @@ -0,0 +1,37 @@ +--- +id: 660add10cb82ac38a17513be +title: レガシーバックエンド認定証 +certification: legacy-back-end +challengeType: 7 +isPrivate: true +tests: + - + id: bd7158d8c443edefaeb5bdef + title: タイムスタンプ マイクロサービス + - + id: bd7158d8c443edefaeb5bdff + title: リクエストヘッダーパーサー マイクロサービス + - + id: bd7158d8c443edefaeb5bd0e + title: URL 短縮マイクロサービス + - + id: bd7158d8c443edefaeb5bdee + title: 画像検索抽象化レイヤー + - + id: bd7158d8c443edefaeb5bd0f + title: ファイルメタデータ マイクロサービス + - + id: bd7158d8c443eddfaeb5bdef + title: 投票アプリを作成する + - + id: bd7158d8c443eddfaeb5bdff + title: ナイトライフ調整アプリを作成する + - + id: bd7158d8c443eddfaeb5bd0e + title: 株式市場のチャート + - + id: bd7158d8c443eddfaeb5bd0f + title: 書籍交換クラブを運営する + - + id: bd7158d8c443eddfaeb5bdee + title: Pinterest のクローンを作成する diff --git a/curriculum/challenges/japanese/00-certifications/legacy-data-visualization-certification/legacy-data-visualization-certification.yml b/curriculum/challenges/japanese/00-certifications/legacy-data-visualization-certification/legacy-data-visualization-certification.yml new file mode 100644 index 0000000000..7fb677c346 --- /dev/null +++ b/curriculum/challenges/japanese/00-certifications/legacy-data-visualization-certification/legacy-data-visualization-certification.yml @@ -0,0 +1,37 @@ +--- +id: 561add10cb82ac39a17513bc +title: レガシーデータ可視化認定証 +certification: legacy-data-visualization +challengeType: 7 +isPrivate: true +tests: + - + id: bd7157d8c242eddfaeb5bd13 + title: マークダウンプレビューアを作成する + - + id: bd7156d8c242eddfaeb5bd13 + title: Camper Leaderboard を作成する + - + id: bd7155d8c242eddfaeb5bd13 + title: レシピボックスを作成する + - + id: bd7154d8c242eddfaeb5bd13 + title: ライフゲームを作成する + - + id: bd7153d8c242eddfaeb5bd13 + title: ダンジョン探索ローグライクゲームを作成する + - + id: bd7168d8c242eddfaeb5bd13 + title: 棒グラフでデータを可視化する + - + id: bd7178d8c242eddfaeb5bd13 + title: 散布図でデータを可視化する + - + id: bd7188d8c242eddfaeb5bd13 + title: ヒートマップでデータを可視化する + - + id: bd7198d8c242eddfaeb5bd13 + title: 力学モデルによるグラフで国の隣接関係を表示する + - + id: bd7108d8c242eddfaeb5bd13 + title: 世界地図にデータをマッピングする diff --git a/curriculum/challenges/japanese/00-certifications/legacy-front-end-certification/legacy-front-end-certification.yml b/curriculum/challenges/japanese/00-certifications/legacy-front-end-certification/legacy-front-end-certification.yml new file mode 100644 index 0000000000..3991296bac --- /dev/null +++ b/curriculum/challenges/japanese/00-certifications/legacy-front-end-certification/legacy-front-end-certification.yml @@ -0,0 +1,37 @@ +--- +id: 561add10cb82ac38a17513be +title: レガシーフロントエンド認定証 +certification: legacy-front-end +challengeType: 7 +isPrivate: true +tests: + - + id: bd7158d8c242eddfaeb5bd13 + title: 個人ポートフォリオのウェブページを作成する + - + id: bd7158d8c442eddfaeb5bd13 + title: ランダムクォートマシンを作成する + - + id: bd7158d8c442eddfaeb5bd0f + title: 25 + 5 クロックを作成する + - + id: bd7158d8c442eddfaeb5bd17 + title: JavaScript 電卓を作成する + - + id: bd7158d8c442eddfaeb5bd10 + title: 現在地の天気を表示する + - + id: bd7158d8c442eddfaeb5bd1f + title: Twitch JSON API を使用する + - + id: bd7158d8c442eddfaeb5bd18 + title: Camper News のストーリーのスタイルを設定する + - + id: bd7158d8c442eddfaeb5bd19 + title: ウィキペディアビューアを作成する + - + id: bd7158d8c442eedfaeb5bd1c + title: まるばつゲームを作成する + - + id: bd7158d8c442eddfaeb5bd1c + title: サイモンゲームを作成する diff --git a/curriculum/challenges/japanese/00-certifications/legacy-full-stack-certification/legacy-full-stack-certification.yml b/curriculum/challenges/japanese/00-certifications/legacy-full-stack-certification/legacy-full-stack-certification.yml new file mode 100644 index 0000000000..deef0e11f1 --- /dev/null +++ b/curriculum/challenges/japanese/00-certifications/legacy-full-stack-certification/legacy-full-stack-certification.yml @@ -0,0 +1,25 @@ +--- +id: 561add10cb82ac38a17213bd +title: レガシーフルスタック認定証 +certification: legacy-full-stack +challengeType: 7 +isPrivate: true +tests: + - + id: 561add10cb82ac38a17513bc + title: レスポンシブウェブデザイン認定証 + - + id: 561abd10cb81ac38a17513bc + title: JavaScript のアルゴリズムとデータ構造認定証 + - + id: 561acd10cb82ac38a17513bc + title: フロントエンドライブラリ認定証 + - + id: 5a553ca864b52e1d8bceea14 + title: データ可視化認定証 + - + id: 561add10cb82ac38a17523bc + title: API およびマイクロサービス認定証 + - + id: 561add10cb82ac38a17213bc + title: 従来の情報セキュリティと品質保証認定証 diff --git a/curriculum/challenges/japanese/00-certifications/legacy-information-security-and-quality-assurance-certification/legacy-information-security-and-quality-assurance-certification.yml b/curriculum/challenges/japanese/00-certifications/legacy-information-security-and-quality-assurance-certification/legacy-information-security-and-quality-assurance-certification.yml new file mode 100644 index 0000000000..ed2d4c2384 --- /dev/null +++ b/curriculum/challenges/japanese/00-certifications/legacy-information-security-and-quality-assurance-certification/legacy-information-security-and-quality-assurance-certification.yml @@ -0,0 +1,22 @@ +--- +id: 561add10cb82ac38a17213bc +title: 従来の情報セキュリティと品質保証認定証 +certification: legacy-information-security-and-quality-assurance +challengeType: 7 +isPrivate: true +tests: + - + id: 587d8249367417b2b2512c41 + title: メートル法とヤード・ポンド法の換算機 + - + id: 587d8249367417b2b2512c42 + title: 課題トラッカー + - + id: 587d824a367417b2b2512c43 + title: 個人図書館 + - + id: 587d824a367417b2b2512c44 + title: 株価チェッカー + - + id: 587d824a367417b2b2512c45 + title: 匿名メッセージボード diff --git a/curriculum/challenges/japanese/00-certifications/machine-learning-with-python-certification/machine-learning-with-python-certification.yml b/curriculum/challenges/japanese/00-certifications/machine-learning-with-python-certification/machine-learning-with-python-certification.yml new file mode 100644 index 0000000000..4233af1135 --- /dev/null +++ b/curriculum/challenges/japanese/00-certifications/machine-learning-with-python-certification/machine-learning-with-python-certification.yml @@ -0,0 +1,23 @@ +--- +id: 5e46fc95ac417301a38fb935 +title: Python による機械学習認定証 +certification: machine-learning-with-python +challengeType: 7 +isPrivate: true +tests: + - + id: 5e46f8d6ac417301a38fb92d + title: じゃんけん + - + id: 5e46f8dcac417301a38fb92e + title: 猫と犬の画像分類プログラム + - + id: 5e46f8e3ac417301a38fb92f + title: KNN を使用した書籍推薦エンジン + - + id: 5e46f8edac417301a38fb930 + title: 線形回帰による医療費の計算プログラム + - + id: 5e46f8edac417301a38fb931 + title: ニューラルネットワークによる SMS テキスト分類プログラム + diff --git a/curriculum/challenges/japanese/00-certifications/quality-assurance-certification/quality-assurance-certification.yml b/curriculum/challenges/japanese/00-certifications/quality-assurance-certification/quality-assurance-certification.yml new file mode 100644 index 0000000000..5f32cfa618 --- /dev/null +++ b/curriculum/challenges/japanese/00-certifications/quality-assurance-certification/quality-assurance-certification.yml @@ -0,0 +1,23 @@ +--- +id: 5e611829481575a52dc59c0e +title: 品質保証認定証 +certification: quality-assurance +challengeType: 7 +isPrivate: true +tests: + - + id: 587d8249367417b2b2512c41 + title: メートル法とヤード・ポンド法の換算機 + - + id: 587d8249367417b2b2512c42 + title: 課題トラッカー + - + id: 587d824a367417b2b2512c43 + title: 個人図書館 + - + id: 5e601bf95ac9d0ecd8b94afd + title: 数独ソルバー + - + id: 5e601c0d5ac9d0ecd8b94afe + title: アメリカ英語とイギリス英語の変換機 + diff --git a/curriculum/challenges/japanese/00-certifications/relational-databases-certification/relational-databases-certification.yml b/curriculum/challenges/japanese/00-certifications/relational-databases-certification/relational-databases-certification.yml new file mode 100644 index 0000000000..c28e1f3f56 --- /dev/null +++ b/curriculum/challenges/japanese/00-certifications/relational-databases-certification/relational-databases-certification.yml @@ -0,0 +1,22 @@ +--- +id: 606243f50267e718b1e755f4 +title: リレーショナルデータベース認定証 +certification: relational-databases +challengeType: 7 +isPrivate: true +tests: + - + id: 5f1a4ef5d5d6b5ab580fc6ae + title: 天体データベース + - + id: 5f9771307d4d22b9d2b75a94 + title: ワールドカップデータベース + - + id: 5f87ac112ae598023a42df1a + title: サロン予約スケジューラー + - + id: 602d9ff222201c65d2a019f2 + title: 周期表データベース + - + id: 602da04c22201c65d2a019f4 + title: 数当てゲーム diff --git a/curriculum/challenges/japanese/00-certifications/responsive-web-design-certification/responsive-web-design-certification.yml b/curriculum/challenges/japanese/00-certifications/responsive-web-design-certification/responsive-web-design-certification.yml new file mode 100644 index 0000000000..f511805f0e --- /dev/null +++ b/curriculum/challenges/japanese/00-certifications/responsive-web-design-certification/responsive-web-design-certification.yml @@ -0,0 +1,22 @@ +--- +id: 561add10cb82ac38a17513bc +title: レスポンシブウェブデザイン認定証 +certification: responsive-web-design +challengeType: 7 +isPrivate: true +tests: + - + id: bd7158d8c442eddfaeb5bd18 + title: トリビュートページを作成する + - + id: 587d78af367417b2b2512b03 + title: アンケートフォームを作成する + - + id: 587d78af367417b2b2512b04 + title: プロダクトのランディングページを作成する + - + id: 587d78b0367417b2b2512b05 + title: テクニカルドキュメントページを作成する + - + id: bd7158d8c242eddfaeb5bd13 + title: 個人ポートフォリオのウェブページを作成する diff --git a/curriculum/challenges/japanese/00-certifications/scientific-computing-with-python-certification/scientific-computing-with-python-certification.yml b/curriculum/challenges/japanese/00-certifications/scientific-computing-with-python-certification/scientific-computing-with-python-certification.yml new file mode 100644 index 0000000000..88ec660019 --- /dev/null +++ b/curriculum/challenges/japanese/00-certifications/scientific-computing-with-python-certification/scientific-computing-with-python-certification.yml @@ -0,0 +1,22 @@ +--- +id: 5e44431b903586ffb414c951 +title: Python による科学計算認定証 +certification: scientific-computing-with-python +challengeType: 7 +isPrivate: true +tests: + - + id: 5e44412c903586ffb414c94c + title: 計算の縦書き整形プログラム + - + id: 5e444136903586ffb414c94d + title: 時刻計算プログラム + - + id: 5e44413e903586ffb414c94e + title: 予算アプリ + - + id: 5e444147903586ffb414c94f + title: 四角形の面積計算プログラム + - + id: 5e44414f903586ffb414c950 + title: 確率計算プログラム diff --git a/curriculum/challenges/japanese/01-responsive-web-design/applied-accessibility/add-a-text-alternative-to-images-for-visually-impaired-accessibility.md b/curriculum/challenges/japanese/01-responsive-web-design/applied-accessibility/add-a-text-alternative-to-images-for-visually-impaired-accessibility.md new file mode 100644 index 0000000000..447d0fb316 --- /dev/null +++ b/curriculum/challenges/japanese/01-responsive-web-design/applied-accessibility/add-a-text-alternative-to-images-for-visually-impaired-accessibility.md @@ -0,0 +1,46 @@ +--- +id: 587d774c367417b2b2512a9c +title: 視覚障害者のアクセシビリティのために画像の代替テキストを追加する +challengeType: 0 +videoUrl: 'https://scrimba.com/c/cPp7VfD' +forumTopicId: 16628 +dashedName: add-a-text-alternative-to-images-for-visually-impaired-accessibility +--- + +# --description-- + +他のチャレンジで、`img` タグに `alt` 属性があるのを見たことがあるでしょう。 `alt` テキストは画像の内容を説明するもので、画像に対する代替テキストを提供します。 `alt` 属性は、画像の読み込みに失敗したり、ユーザーがそれを見ることができない場合に役立ちます。 また、検索エンジンが検索結果の画像に含まれているものを理解するためにも使用されます。 例: + +```html +Company logo +``` + +視覚障害を持つ人々は、ウェブコンテンツをオーディオインターフェースへ変換するためにスクリーンリーダーを利用しています。 視覚的にしか表示されていない場合、彼らは情報を取得できません。 画像の場合、核心となる情報を伝えるために、スクリーンリーダーは `alt` 属性にアクセスしてその内容を読み上げることができます。 + +良い `alt` テキストは、画像の簡単な説明を読者に提供します。 画像には `alt` 属性を常に含めるようにしましょう。 HTML5 仕様では、これは必須と考えられています。 + +# --instructions-- + +Camper Cat はコーディング忍者かつ実際の忍者でもあり、その知識を共有するためにウェブサイトを作成しています。 彼が使用したいプロフィール画像は彼のスキルを表すものなので、すべてのサイト訪問者に認識されるべきです。 `img` タグに `alt` 属性を追加し、Camper Cat が空手をしている様子だと説明してください。 (画像の `src` は実際のファイルにリンクされていないため、`alt` テキストが表示されることが確認できるでしょう。) + +# --hints-- + +`img` タグは空ではない `alt` 属性を持つ必要があります。 + +```js +assert($('img').attr('alt')); +``` + +# --seed-- + +## --seed-contents-- + +```html + +``` + +# --solutions-- + +```html +Someone doing karate +``` diff --git a/curriculum/challenges/japanese/01-responsive-web-design/applied-accessibility/add-an-accessible-date-picker.md b/curriculum/challenges/japanese/01-responsive-web-design/applied-accessibility/add-an-accessible-date-picker.md new file mode 100644 index 0000000000..235e1f0df1 --- /dev/null +++ b/curriculum/challenges/japanese/01-responsive-web-design/applied-accessibility/add-an-accessible-date-picker.md @@ -0,0 +1,105 @@ +--- +id: 587d778b367417b2b2512aa8 +title: 使いやすい日付選択フィールドを追加する +challengeType: 0 +videoUrl: 'https://scrimba.com/c/cR3bRbCV' +forumTopicId: 301008 +dashedName: add-an-accessible-date-picker +--- + +# --description-- + +フォームはしばしば `input` フィールドをもちます。これにより様々なフォームコントロールを作成することができます。 この要素の `type` 属性は、どの種類の `input` 要素が作成されるかを表します。 + +`text` と `submit` タイプには以前のチャレンジで気づいたかもしれません。そして HTML5 では新しい指定オプションとして `date` フィールドが導入されました。 ブラウザのサポート状況に応じて、`input` にフォーカスがある場合、全てのユーザーにとってフォームへの記入が簡単になる日付選択フィールドが表示されます。 + +古いブラウザでは、このタイプはデフォルトで `text` になるため、念の為 `label` や `placeholder` を使って期待する日付フォーマットをユーザーに伝えるといいでしょう。 + +例: + +```html + + +``` + +# --instructions-- + +Camper Cat は Mortal Kombatトーナメントを実施しており、競技参加者にどの日付が最も良いか尋ねたいと思っています。 `input` タグを追加しましょう。`type` 属性には `date` を、`id` 属性には `pickdate`を、`name` 属性には `date` を設定してください。 + +# --hints-- + +日付選択フィールドとして `input` タグを追加します。 + +```js +assert($('input').length == 2); +``` + +`input` タグは `date` 値が設定された `type` 属性を持つ必要があります。 + +```js +assert($('input').attr('type') == 'date'); +``` + +`input` タグは `pickdate` 値が設定された `id` 属性を持つ必要があります。 + +```js +assert($('input').attr('id') == 'pickdate'); +``` + +`input` タグは `date` 値が設定された `name` 属性を持つ必要があります。 + +```js +assert($('input').attr('name') == 'date'); +``` + +# --seed-- + +## --seed-contents-- + +```html + +
+

Tournaments

+
+
+
+

Mortal Kombat Tournament Survey

+
+

Tell us the best date for the competition

+ + + + + + + + + +
+
+
+
© 2018 Camper Cat
+ +``` + +# --solutions-- + +```html + +
+

Tournaments

+
+
+
+

Mortal Kombat Tournament Survey

+
+

Tell us the best date for the competition

+ + + +
+
+
+
© 2018 Camper Cat
+ +``` diff --git a/curriculum/challenges/japanese/01-responsive-web-design/applied-accessibility/avoid-colorblindness-issues-by-carefully-choosing-colors-that-convey-information.md b/curriculum/challenges/japanese/01-responsive-web-design/applied-accessibility/avoid-colorblindness-issues-by-carefully-choosing-colors-that-convey-information.md new file mode 100644 index 0000000000..76fa2d9ae5 --- /dev/null +++ b/curriculum/challenges/japanese/01-responsive-web-design/applied-accessibility/avoid-colorblindness-issues-by-carefully-choosing-colors-that-convey-information.md @@ -0,0 +1,74 @@ +--- +id: 587d778f367417b2b2512aad +title: >- + 情報を伝達する色を慎重に選択して色覚の問題を回避する +challengeType: 0 +videoUrl: 'https://scrimba.com/c/c437as3' +forumTopicId: 301011 +dashedName: >- + avoid-colorblindness-issues-by-carefully-choosing-colors-that-convey-information +--- + +# --description-- + +色弱には様々なタイプがあります。 これらには、特定の波長に対する感度が低下するタイプから色が全く見えないタイプまで幅があります。 最も多いタイプは、緑を認識する感度が低下するものです。 + +例えば、似たような 2 つの緑色をコンテンツの前景色と背景色に使用した場合、色弱者のユーザーはそれを区別できないかもしれません。 近い色はカラーホイール上の隣り合った色として考えることができます。重要な情報を伝える際にはその組み合わせは避けるべきです。 + +**注:** オンラインカラーピッキングツールには、異なるタイプの色弱者にとってそれらの色がどのように見えるかを視覚的にシミュレーションするものがあります。 オンラインのコントラストチェックツールに加えて、これらは素晴らしいリソースです。 + +# --instructions-- + +Camper Cat は重要なボタンにおける異なるスタイルをテストしています。しかし、黄色(`#FFFF33`) の背景色 `background-color` と緑 (`#33FF33`) の文字色 `color` はカラーホイールで隣接した色相なので、一部の色弱者にとってほとんど区別できません。 (これらの色は明度も近く、コントラスト比チェックでも失敗します) テキストの `color` をダークブルー (`#003366`) に変更して、両方の問題を解決します。 + +# --hints-- + +`button` のテキストの `color` をダークブルーに変更してください。 + +```js +assert($('button').css('color') == 'rgb(0, 51, 102)'); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + +
+

Danger!

+
+ + +``` + +# --solutions-- + +```html + + + + +
+

Danger!

+
+ + +``` diff --git a/curriculum/challenges/japanese/01-responsive-web-design/applied-accessibility/avoid-colorblindness-issues-by-using-sufficient-contrast.md b/curriculum/challenges/japanese/01-responsive-web-design/applied-accessibility/avoid-colorblindness-issues-by-using-sufficient-contrast.md new file mode 100644 index 0000000000..08c1e50d0f --- /dev/null +++ b/curriculum/challenges/japanese/01-responsive-web-design/applied-accessibility/avoid-colorblindness-issues-by-using-sufficient-contrast.md @@ -0,0 +1,84 @@ +--- +id: 587d778f367417b2b2512aac +title: 十分なコントラストを使用して色覚の問題を回避する +challengeType: 0 +videoUrl: 'https://scrimba.com/c/cmzMEUw' +forumTopicId: 301012 +dashedName: avoid-colorblindness-issues-by-using-sufficient-contrast +--- + +# --description-- + +色はビジュアルデザインの大部分を占めていますが、アクセシビリティの問題が 2 つあります。 第一に、スクリーンリーダーのユーザーには色が見えないので、重要な情報を伝える唯一の方法として色だけを使用するべきではありません。 第二に、色弱者のユーザーが前景色と背景色の違いを区別できるためには十分なコントラストが必要です。 + +以前のチャレンジでは、1 つ目の問題に対処するため代替テキストを使う方法を紹介しました。 前回のチャレンジでは、2 つ目の問題の対応に役立つコントラストチェックツールを導入しました。 WCAG 推奨のコントラスト比は 4.5:1 で、カラーでもグレースケールの組み合わせでも適用されます。 + +色弱者のユーザーは、ある色を他の色と区別するのに苦労することがあります。色相が問題になることが多いですが、時には明度も関係します。 コントラスト比は、前景色と背景色の相対輝度 (または明度) の値を使用して計算されることを覚えているかと思います。 + +実際には、4.5:1 のコントラスト比は、暗い色にシェーディング (黒を加えること)、明るい色にティンティング (白を加えること) することで達成できます。 カラーホイール上では、暗い色合いはブルー、バイオレット、マゼンタ、レッドだと考えられ、一方で明るい色合いはオレンジ、イエロー、グリーン、ブルーグリーンなどです。 + +# --instructions-- + +Camper Cat は、ブログのテキストと背景に色を使うテストを行っています。しかし、緑がかった `background-color` とくり色のテキスト `color` の組み合わせのコントラスト比は 2.5:1 です。 CSSの `hsl()` プロパティ (hue 色相、saturation 彩度、lightness 明度の略) を使用して宣言しているため、3 つ目の引数の値を変えることで色の明度を簡単に調整できます。 `background-color` の明度の値を 35% から 55% に増やし、`color` の明度の値を 20% から 15% に減らします。 これにより、コントラストが 5.9:1 に向上します。 + +# --hints-- + +テキストの `color` プロパティの明度の値だけを 15% に変更してください。 + +```js +assert(code.match(/color:\s*?hsl\(0,\s*?55%,\s*?15%\)/gi)); +``` + +`background-color` プロパティの明度の値だけを 55% に変更してください。 + +```js +assert(code.match(/background-color:\s*?hsl\(120,\s*?25%,\s*?55%\)/gi)); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + +
+

Deep Thoughts with Master Camper Cat

+
+
+

A Word on the Recent Catnip Doping Scandal

+

The influence that catnip has on feline behavior is well-documented, and its use as an herbal supplement in competitive ninja circles remains controversial. Once again, the debate to ban the substance is brought to the public's attention after the high-profile win of Kittytron, a long-time proponent and user of the green stuff, at the Claw of Fury tournament.

+

As I've stated in the past, I firmly believe a true ninja's skills must come from within, with no external influences. My own catnip use shall continue as purely recreational.

+
+ +``` + +# --solutions-- + +```html + + + + +
+

Deep Thoughts with Master Camper Cat

+
+
+

A Word on the Recent Catnip Doping Scandal

+

The influence that catnip has on feline behavior is well-documented, and its use as an herbal supplement in competitive ninja circles remains controversial. Once again, the debate to ban the substance is brought to the public's attention after the high-profile win of Kittytron, a long-time proponent and user of the green stuff, at the Claw of Fury tournament.

+

As I've stated in the past, I firmly believe a true ninja's skills must come from within, with no external influences. My own catnip use shall continue as purely recreational.

+
+ +``` diff --git a/curriculum/challenges/japanese/01-responsive-web-design/applied-accessibility/give-links-meaning-by-using-descriptive-link-text.md b/curriculum/challenges/japanese/01-responsive-web-design/applied-accessibility/give-links-meaning-by-using-descriptive-link-text.md new file mode 100644 index 0000000000..bc3bcbadbd --- /dev/null +++ b/curriculum/challenges/japanese/01-responsive-web-design/applied-accessibility/give-links-meaning-by-using-descriptive-link-text.md @@ -0,0 +1,75 @@ +--- +id: 587d778f367417b2b2512aae +title: 説明的なリンクテキストを使用してリンクに意味を与える +challengeType: 0 +videoUrl: 'https://scrimba.com/c/c437DcV' +forumTopicId: 301013 +dashedName: give-links-meaning-by-using-descriptive-link-text +--- + +# --description-- + +スクリーンリーダーのユーザーには、デバイスがどの種類のコンテンツを読み上げるかに関するさまざまなオプションがあります。 これらのオプションには、ランドマーク要素まで (またはその先に) スキップする、メインコンテンツへのジャンプ、見出しからページの要約を取得するなどがあります。 他に、ページで利用可能なリンクだけを聞くこともできます。 + +この場合、スクリーンリーダーはリンクテキスト、つまりアンカー (`a`) タグの間にあるテキストを読み上げます。 「click here (ここをクリック)」や「read more (詳細を読む)」というリンクの一覧があっても役に立ちません。 代わりに、これらのユーザーにより多くの意味を提供するために、`a` タグ内では簡潔で説明的なテキストを使用してください。 + +# --instructions-- + +Camper Cat が使用しているリンクテキストは、周囲のコンテキストがなければあまり意味を成しません。 アンカー (`a`) タグを移動して、`Click here` の代わりに `information about batteries` の周りを囲うようにします。 + +# --hints-- + +コードでは、アンカーの `a` タグを `Click here` という単語の周りから `information about batteries` という単語の周りを囲うように移動させる必要があります。 + +```js +assert( + $('a') + .text() + .match(/^(information about batteries)$/g) +); +``` + +`a` 要素は空文字列の値 `""` が指定された `href` 属性を持たなければなりません。 + +```js +assert($('a').attr('href') === ''); +``` + +`a` 要素には終了タグが必要です。 + +```js +assert( + code.match(/<\/a>/g) && + code.match(/<\/a>/g).length === code.match(//g).length +); +``` + +# --seed-- + +## --seed-contents-- + +```html + +
+

Deep Thoughts with Master Camper Cat

+
+
+ +``` + +# --solutions-- + +```html + +
+

Deep Thoughts with Master Camper Cat

+
+
+

Defeating your Foe: the Red Dot is Ours!

+

Felines the world over have been waging war on the most persistent of foes. This red nemesis combines both cunning stealth and lightning speed. But chin up, fellow fighters, our time for victory may soon be near. Click here for information about batteries

+
+ +``` diff --git a/curriculum/challenges/japanese/01-responsive-web-design/applied-accessibility/improve-accessibility-of-audio-content-with-the-audio-element.md b/curriculum/challenges/japanese/01-responsive-web-design/applied-accessibility/improve-accessibility-of-audio-content-with-the-audio-element.md new file mode 100644 index 0000000000..62bd89ff39 --- /dev/null +++ b/curriculum/challenges/japanese/01-responsive-web-design/applied-accessibility/improve-accessibility-of-audio-content-with-the-audio-element.md @@ -0,0 +1,115 @@ +--- +id: 587d7789367417b2b2512aa4 +title: audio 要素を使用してオーディオコンテンツのアクセシビリティを向上させる +challengeType: 0 +videoUrl: 'https://scrimba.com/c/cVJVkcZ' +forumTopicId: 301014 +dashedName: improve-accessibility-of-audio-content-with-the-audio-element +--- + +# --description-- + +HTML5 の `audio` 要素は、サウンドやオーディオストリームコンテンツを囲み、セマンティックな意味を与えます。 オーディオコンテンツには、耳が不自由であったり聞こえづらい人々がアクセスできる代替テキストも必要です。 これは、オーディオ要素の近くのテキストや、文字起こしへのリンクで実現できます。 + +`audio` タグは `controls` 属性をサポートします。 controls 属性により、ブラウザのデフォルトの再生、一時停止、その他のコントロールが表示され、キーボードによる操作ができるようになります。 controls は真偽値属性なので、値は必要ありません。タグ上にこれが存在することで設定がオンになります。 + +例: + +```html + +``` + +**注:** 一般的に、マルチメディアコンテンツは視覚的要素と聴覚的要素の両方を持ちます。 視覚障害や聴覚障害を持つユーザーがそれにアクセスできるように、コンテンツに同期したキャプション (字幕) とトランスクリプト (文字起こし) が必要です。 一般に、Web 開発者はキャプションやトランスクリプトを作成する責任を負いませんが、それらを含めることを知っておく必要があります。 + +# --instructions-- + +Camper Cat から少し離れる時間を取って、アクセシビリティの達人でありスクリーンリーダーのユーザーでもあるキャンパー仲間、Zersiax (@zersiax) をご紹介します。 彼のスクリーンリーダーが動作する様子の音声を聴くには、`p` の後ろに `audio` 要素を追加します。 `controls` 属性を含めましょう。 次に `audio` タグの中に、`src` 属性に `https://s3.amazonaws.com/freecodecamp/screen-reader.mp3` を、`type` 属性に `"audio/mpeg"` を設定した `source` タグを配置します。 + +**注:** 音声が高速に聞こえて理解しにくいかもしれませんが、これはスクリーンリーダーのユーザーにとっては通常の速度です。 + +# --hints-- + +コードには `audio` タグが 1 つ必要です。 + +```js +assert($('audio').length === 1); +``` + +`audio` 要素には終了タグが必要です。 + +```js +assert( + code.match(/<\/audio>/g).length === 1 && + code.match(/[\s\S]*<\/audio>/g) +); +``` + +`audio` タグは `controls` 属性を持つ必要があります。 + +```js +assert($('audio').attr('controls')); +``` + +コードには `source` タグが 1 つ必要です。 + +```js +assert($('source').length === 1); +``` + +`source` タグは `audio` タグの内側にあるようにしてください。 + +```js +assert($('audio').children('source').length === 1); +``` + +`source` タグの `src` 属性の値は、指示内のリンクと正確に一致させる必要があります。 + +```js +assert( + $('source').attr('src') === + 'https://s3.amazonaws.com/freecodecamp/screen-reader.mp3' +); +``` + +コードには `source` タグの `type` 属性として audio/mpeg という値を含める必要があります。 + +```js +assert($('source').attr('type') === 'audio/mpeg'); +``` + +# --seed-- + +## --seed-contents-- + +```html + +
+

Real Coding Ninjas

+
+
+

A sound clip of Zersiax's screen reader in action.

+ + + +
+ +``` + +# --solutions-- + +```html + +
+

Real Coding Ninjas

+
+
+

A sound clip of Zersiax's screen reader in action.

+ +
+ +``` diff --git a/curriculum/challenges/japanese/01-responsive-web-design/applied-accessibility/improve-chart-accessibility-with-the-figure-element.md b/curriculum/challenges/japanese/01-responsive-web-design/applied-accessibility/improve-chart-accessibility-with-the-figure-element.md new file mode 100644 index 0000000000..432f776747 --- /dev/null +++ b/curriculum/challenges/japanese/01-responsive-web-design/applied-accessibility/improve-chart-accessibility-with-the-figure-element.md @@ -0,0 +1,161 @@ +--- +id: 587d778a367417b2b2512aa5 +title: figure 要素を使ってチャートのアクセシビリティを向上させる +challengeType: 0 +videoUrl: 'https://scrimba.com/c/cGJMqtE' +forumTopicId: 301015 +dashedName: improve-chart-accessibility-with-the-figure-element +--- + +# --description-- + +HTML5 では `figure` 要素と、これに関連した `figcaption` が導入されました。 これらを使うことで、視覚的な表現 (画像、図形、チャートなど) をキャプション (説明文) と一緒に囲むことができます。 これにより、意味的に関連するコンテンツをグループ化し、`figure` を説明する代替テキストを提供することもできるため、アクセシビリティを二重に向上させることができます。 + +チャートなどのデータビジュアライゼーションでは、視覚障害のあるユーザーのために、傾向や結論を簡潔に記したキャプションを使うことができます。 別のチャレンジで、スクリーンリーダーユーザーのために (CSSを利用して) 表形式のチャートデータを画面外に移動させる方法を学びます。 + +こちらの例を見てください。`figure` タグの中に `figcaption` があり、他の要素と組み合わせることができます。 + +```html +
+ Photo of Camper Cat executing a roundhouse kick +
+
+ Master Camper Cat demonstrates proper form of a roundhouse kick. +
+
+``` + +# --instructions-- + +Camper Cat は、一週間あたりに隠密行動、戦闘、武器のトレーニングへどれだけの時間を費やしたかを示す積み上げ棒グラフの作成に励んでいます。 彼が使用していた `div` タグを `figure` タグに変更し、キャプションを囲んでいる `p` タグを `figcaption` タグに変更することで、彼のページがより良い構造になるよう手伝ってください。 + +# --hints-- + +コードには `figure` タグが 1 つ必要です。 + +```js +assert($('figure').length == 1); +``` + +コードには `figcaption` タグが 1 つ必要です。 + +```js +assert($('figcaption').length == 1); +``` + +コードに `div` タグを含めないでください。 + +```js +assert($('div').length == 0); +``` + +コードに `p` タグを含めないでください。 + +```js +assert($('p').length == 0); +``` + +`figcaption` は `figure` タグの子要素である必要があります。 + +```js +assert($('figure').children('figcaption').length == 1); +``` + +`figure` 要素には終了タグが必要です。 + +```js +assert( + code.match(/<\/figure>/g) && + code.match(/<\/figure>/g).length === code.match(/
/g).length +); +``` + +# --seed-- + +## --seed-contents-- + +```html + +
+

Training

+ +
+
+
+ + +
+ +
+

Breakdown per week of time to spend training in stealth, combat, and weapons.

+
+ + +
+
+

Stealth & Agility Training

+

Climb foliage quickly using a minimum spanning tree approach

+

No training is NP-complete without parkour

+
+
+

Combat Training

+

Dispatch multiple enemies with multithreaded tactics

+

Goodbye world: 5 proven ways to knock out an opponent

+
+
+

Weapons Training

+

Swords: the best tool to literally divide and conquer

+

Breadth-first or depth-first in multi-weapon training?

+
+
+
© 2018 Camper Cat
+ +``` + +# --solutions-- + +```html + +
+

Training

+ +
+
+
+
+ +
+
Breakdown per week of time to spend training in stealth, combat, and weapons.
+
+
+
+

Stealth & Agility Training

+

Climb foliage quickly using a minimum spanning tree approach

+

No training is NP-complete without parkour

+
+
+

Combat Training

+

Dispatch multiple enemies with multithreaded tactics

+

Goodbye world: 5 proven ways to knock out an opponent

+
+
+

Weapons Training

+

Swords: the best tool to literally divide and conquer

+

Breadth-first or depth-first in multi-weapon training?

+
+
+
© 2018 Camper Cat
+ +``` diff --git a/curriculum/challenges/japanese/01-responsive-web-design/applied-accessibility/improve-form-field-accessibility-with-the-label-element.md b/curriculum/challenges/japanese/01-responsive-web-design/applied-accessibility/improve-form-field-accessibility-with-the-label-element.md new file mode 100644 index 0000000000..420de0def1 --- /dev/null +++ b/curriculum/challenges/japanese/01-responsive-web-design/applied-accessibility/improve-form-field-accessibility-with-the-label-element.md @@ -0,0 +1,119 @@ +--- +id: 587d778a367417b2b2512aa6 +title: label 要素を使ってフォームフィールドのアクセシビリティを向上させる +challengeType: 0 +videoUrl: 'https://scrimba.com/c/cGJMMAN' +forumTopicId: 301016 +dashedName: improve-form-field-accessibility-with-the-label-element +--- + +# --description-- + +セマンティックな HTML マークアップでアクセシビリティを向上させるには、適切なタグ名と属性を使用する必要があります。 ここからいくつかのチャレンジでは、フォームで属性を使用する主要なシナリオを学びます。 + +`label` タグは、指定のフォームコントロール (入力フィールド) アイテムのテキストを囲みます。通常は、選択肢の名前またはラベルを囲みます。 これはアイテムと意味を紐付け、フォームをより読みやすくします。 `label` タグの `for` 属性は `label` とフォームコントロールを明示的に関連付けるもので、スクリーンリーダーが使用します。 + +「HTML と HTML5 の基礎」セクションのレッスンでラジオボタンとそのラベルについて学びました。 あのレッスンではテキストをクリック可能にするために、ラジオボタンの入力要素をラベルテキストと共に `label` 要素の内側に入れました。 同じことを実現するもう一つの方法が、このレッスンで説明する `for` 属性を使うことです。 + +`for` 属性の値は必ずフォームコントロールの `id` 属性と同じ値でなければなりません。 例: + +```html +
+ + +
+``` + +# --instructions-- + +Camper Cat は彼の示唆に富んだブログ記事に多くの関心が寄せられるだろうと期待しているので、電子メールのサインアップフォームも設置したいと考えています。 電子メール (Email) の `label` の `for` 属性に、`input` フィールドの `id` と一致する値を追加してください。 + +# --hints-- + +`label` タグの `for` 属性は空にしてはいけません。 + +```js +assert($('label').attr('for')); +``` + +`for` 属性の値は電子メールの `input` の `id` 値と一致している必要があります。 + +```js +assert($('label').attr('for') == 'email'); +``` + +# --seed-- + +## --seed-contents-- + +```html + +
+

Deep Thoughts with Master Camper Cat

+
+
+
+

Sign up to receive Camper Cat's blog posts by email here!

+ + + + + + + +
+
+
+

The Garfield Files: Lasagna as Training Fuel?

+

The internet is littered with varying opinions on nutritional paradigms, from catnip paleo to hairball cleanses. But let's turn our attention to an often overlooked fitness fuel, and examine the protein-carb-NOM trifecta that is lasagna...

+
+ +
+

Defeating your Foe: the Red Dot is Ours!

+

Felines the world over have been waging war on the most persistent of foes. This red nemesis combines both cunning stealth and lightning speed. But chin up, fellow fighters, our time for victory may soon be near...

+
+ +
+

Is Chuck Norris a Cat Person?

+

Chuck Norris is widely regarded as the premier martial artist on the planet, and it's a complete coincidence anyone who disagrees with this fact mysteriously disappears soon after. But the real question is, is he a cat person?...

+
+
© 2018 Camper Cat
+ +``` + +# --solutions-- + +```html + +
+

Deep Thoughts with Master Camper Cat

+
+
+
+

Sign up to receive Camper Cat's blog posts by email here!

+ + + + + + + +
+
+
+

The Garfield Files: Lasagna as Training Fuel?

+

The internet is littered with varying opinions on nutritional paradigms, from catnip paleo to hairball cleanses. But let's turn our attention to an often overlooked fitness fuel, and examine the protein-carb-NOM trifecta that is lasagna...

+
+ +
+

Defeating your Foe: the Red Dot is Ours!

+

Felines the world over have been waging war on the most persistent of foes. This red nemesis combines both cunning stealth and lightning speed. But chin up, fellow fighters, our time for victory may soon be near...

+
+ +
+

Is Chuck Norris a Cat Person?

+

Chuck Norris is widely regarded as the premier martial artist on the planet, and it's a complete coincidence anyone who disagrees with this fact mysteriously disappears soon after. But the real question is, is he a cat person?...

+
+
© 2018 Camper Cat
+ +``` diff --git a/curriculum/challenges/japanese/01-responsive-web-design/applied-accessibility/improve-readability-with-high-contrast-text.md b/curriculum/challenges/japanese/01-responsive-web-design/applied-accessibility/improve-readability-with-high-contrast-text.md new file mode 100644 index 0000000000..d14ba3a75f --- /dev/null +++ b/curriculum/challenges/japanese/01-responsive-web-design/applied-accessibility/improve-readability-with-high-contrast-text.md @@ -0,0 +1,80 @@ +--- +id: 587d778e367417b2b2512aab +title: 高コントラストのテキストで読みやすさを向上させる +challengeType: 0 +videoUrl: 'https://scrimba.com/c/cKb3nCq' +forumTopicId: 301017 +dashedName: improve-readability-with-high-contrast-text +--- + +# --description-- + +前景色と背景色間でコントラストが低いと、テキストが読みづらくなります。 十分なコントラストはコンテンツの可読性を向上させますが、「十分」とは何を意味するのでしょうか? + +ウェブコンテンツアクセシビリティガイドライン (Web Content Accessibility Guidelines, WCAG) では、通常のテキストに対して少なくとも 4.5 〜 1 のコントラスト比を推奨しています。 この比率は 2 色の相対輝度値を比較することで算出します。 その範囲は、比率が 1:1 で同じ色だったりコントラストがない場合から、白に対する黒の比率 21:1、つまり最も大きなコントラストがある場合までの値を取ります。 オンラインで利用可能な多くのコントラストチェックツールがあり、この比率を計算できます。 + +# --instructions-- + +Camper Cat の最近のブログ記事では明るいグレーに白い背景色を使っていますが、このコントラスト比は 1.5:1 で読み辛くなっています。 テキストの `color` を現在のグレー (`#D3D3D3`) から濃いグレー (`#636363`) に変更し、コントラスト比を 6:1 に改善してください。 + +# --hints-- + +`body` のテキストの `color` を濃いグレーに変更してください。 + +```js +assert($('body').css('color') == 'rgb(99, 99, 99)'); +``` + +`body` の `background-color` は変更しないでください。 + +```js +assert($('body').css('background-color') == 'rgb(255, 255, 255)'); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + +
+

Deep Thoughts with Master Camper Cat

+
+
+

A Word on the Recent Catnip Doping Scandal

+

The influence that catnip has on feline behavior is well-documented, and its use as an herbal supplement in competitive ninja circles remains controversial. Once again, the debate to ban the substance is brought to the public's attention after the high-profile win of Kittytron, a long-time proponent and user of the green stuff, at the Claw of Fury tournament.

+

As I've stated in the past, I firmly believe a true ninja's skills must come from within, with no external influences. My own catnip use shall continue as purely recreational.

+
+ +``` + +# --solutions-- + +```html + + + + +
+

Deep Thoughts with Master Camper Cat

+
+
+

A Word on the Recent Catnip Doping Scandal

+

The influence that catnip has on feline behavior is well-documented, and its use as an herbal supplement in competitive ninja circles remains controversial. Once again, the debate to ban the substance is brought to the public's attention after the high-profile win of Kittytron, a long-time proponent and user of the green stuff, at the Claw of Fury tournament.

+

As I've stated in the past, I firmly believe a true ninja's skills must come from within, with no external influences. My own catnip use shall continue as purely recreational.

+
+ +``` diff --git a/curriculum/challenges/japanese/01-responsive-web-design/applied-accessibility/jump-straight-to-the-content-using-the-main-element.md b/curriculum/challenges/japanese/01-responsive-web-design/applied-accessibility/jump-straight-to-the-content-using-the-main-element.md new file mode 100644 index 0000000000..0fe0149245 --- /dev/null +++ b/curriculum/challenges/japanese/01-responsive-web-design/applied-accessibility/jump-straight-to-the-content-using-the-main-element.md @@ -0,0 +1,62 @@ +--- +id: 587d774e367417b2b2512a9f +title: main 要素を使用してコンテンツに直接ジャンプする +challengeType: 0 +videoUrl: 'https://scrimba.com/c/cPp7zuE' +forumTopicId: 301018 +dashedName: jump-straight-to-the-content-using-the-main-element +--- + +# --description-- + +HTML5 では、より多くの選択肢を開発者に提供すると同時にアクセシビリティ機能も組み込んだ新しい要素が導入されました。 それらのタグとして特に `main`、`header`、`footer`、`nav`、`article`、`section` があります。 + +デフォルトでは、ブラウザはこれらの要素を特に装飾のない `div` と同じように表示します。 しかし、これらを適切に使用することでマークアップに追加の意味を与えることができます。 タグ名だけでそこに含まれる情報の種類を示すことができるので、そのコンテンツにセマンティックな意味を追加することができます。 アシスティブ・テクノロジー (支援技術) はこの情報にアクセスして、より良いページ要約やナビゲーションオプションをユーザーに提供することができます。 + +`main` 要素は (名前から推測できる通り) メインコンテンツを囲うために使用されます。この要素は各ページに1つだけであるべきです。 これはページの中心的なトピックに関連する情報を囲むためのものです。 ナビゲーションリンクやバナーなど、ページをまたいで繰り返す項目を含めるべきではありません。 + +`main` タグには、支援技術でメインコンテンツに素早く移動できるようにするための目印となる機能も埋め込まれています。 ページの上部に「メインコンテンツへ移動」といったリンクがあるのを見たことがあるでしょうか。`main` タグを使用すれば、自動的に支援機器にその機能を提供することができます。 + +# --instructions-- + +Camper Cat は忍者の武器に関するページのアイデアを持っています。 (他のチャレンジで説明する) `header` と `footer` の間に、`main` の開始タグと終了タグを追加して、彼のマークアップ作業を手伝ってあげてください。 今のところ `main` タグは空のままにしておいてください。 + +# --hints-- + +コードには `main` タグが1つ必要です。 + +```js +assert($('main').length == 1); +``` + +`main` タグは、`header` の終了タグと `footer` の開始タグの間でなければなりません。 + +```js +assert(code.match(/<\/header>\s*?
\s*?<\/main>/gi)); +``` + +# --seed-- + +## --seed-contents-- + +```html +
+

Weapons of the Ninja

+
+ + + +
+``` + +# --solutions-- + +```html +
+

Weapons of the Ninja

+
+
+ +
+
+``` diff --git a/curriculum/challenges/japanese/01-responsive-web-design/applied-accessibility/know-when-alt-text-should-be-left-blank.md b/curriculum/challenges/japanese/01-responsive-web-design/applied-accessibility/know-when-alt-text-should-be-left-blank.md new file mode 100644 index 0000000000..5019e4b827 --- /dev/null +++ b/curriculum/challenges/japanese/01-responsive-web-design/applied-accessibility/know-when-alt-text-should-be-left-blank.md @@ -0,0 +1,76 @@ +--- +id: 587d774c367417b2b2512a9d +title: 代替テキストを空白のままにする必要がある場合を知る +challengeType: 0 +videoUrl: 'https://scrimba.com/c/cM9P4t2' +forumTopicId: 301019 +dashedName: know-when-alt-text-should-be-left-blank +--- + +# --description-- + +前回のチャレンジでは、`img` タグを使用する際に `alt` 属性の指定が必須であることを学びました。 ただし、既に画像を説明するキャプションとグループ化されていたり、装飾のみに使用されていたりする画像の場合もあります。 これらの場合、`alt` テキストは冗長、もしくは不要かもしれません。 + +画像が既にテキストコンテンツによって説明されている、もしくは特に意味を持たない画像である場合、`img` には `alt` 属性は引き続き必要ですが、空の文字列が設定可能です。 例: + +```html + +``` + +背景画像は通常、「装飾用」画像に分類されます。 ただし、通常これらは CSS ルールによって適用されるため、スクリーンリーダーが処理するマークアップの一部ではありません。 + +**注:** キャプション付きの画像の場合、サーチエンジンが画像コンテンツの内容を分類するのに役立つので、`alt` テキストを含めると良いでしょう。 + +# --instructions-- + +Camper Cat は彼のウェブサイトのブログ部分の骨組みとなるコードを書きました。 二つの記事の間に日本刀の装飾画像を追加し、視覚的な切れ目を入れようとしています。 `img` タグに `alt` 属性を追加し、空の文字列に設定してください。 (注: `src` は実際のファイルとリンクしていません。ディスプレイに刀が表示されていなくても心配ありません。) + +# --hints-- + +`img` 要素には `alt` 属性が必要です。 + +```js +assert(!($('img').attr('alt') == undefined)); +``` + +`alt` 属性は空文字列に設定する必要があります。 + +```js +assert($('img').attr('alt') == ''); +``` + +# --seed-- + +## --seed-contents-- + +```html +

Deep Thoughts with Master Camper Cat

+
+

Defeating your Foe: the Red Dot is Ours!

+

To Come...

+
+ + + +
+

Is Chuck Norris a Cat Person?

+

To Come...

+
+``` + +# --solutions-- + +```html +

Deep Thoughts with Master Camper Cat

+
+

Defeating your Foe: the Red Dot is Ours!

+

To Come...

+
+ + + +
+

Is Chuck Norris a Cat Person?

+

To Come...

+
+``` diff --git a/curriculum/challenges/japanese/01-responsive-web-design/applied-accessibility/make-elements-only-visible-to-a-screen-reader-by-using-custom-css.md b/curriculum/challenges/japanese/01-responsive-web-design/applied-accessibility/make-elements-only-visible-to-a-screen-reader-by-using-custom-css.md new file mode 100644 index 0000000000..f510ec5c2d --- /dev/null +++ b/curriculum/challenges/japanese/01-responsive-web-design/applied-accessibility/make-elements-only-visible-to-a-screen-reader-by-using-custom-css.md @@ -0,0 +1,244 @@ +--- +id: 587d778d367417b2b2512aaa +title: カスタム CSS でスクリーンリーダーにのみ認識される要素を作成する +challengeType: 0 +videoUrl: 'https://scrimba.com/c/cJ8QGkhJ' +forumTopicId: 301020 +dashedName: make-elements-only-visible-to-a-screen-reader-by-using-custom-css +--- + +# --description-- + +応用アクセシビリティでのこれまでチャレンジでは、CSS を一切使用していないことに気付きましたか? これは視覚的な要素を導入するより前に、論理的なドキュメントの概要とコンテンツの周りを意味のあるタグで囲むことの方が重要であることを示しています。 + +一方で、スクリーンリーダー専用のコンテンツを視覚的に隠したい場合には、CSS のマジックによってページのアクセシビリティを向上させることが可能です。 この状況は、情報が視覚的なフォーマット (チャートなど) である場合に発生します。スクリーンリーダーユーザーがデータにアクセスするためには別の表現 (表など) が必要になります。 CSS は、スクリーンリーダー専用の要素をブラウザ画面の可視エリア以外の場所に配置するために使用されます。 + +以下はこれを達成するための CSS ルールの例です。 + +```css +.sr-only { + position: absolute; + left: -10000px; + width: 1px; + height: 1px; + top: auto; + overflow: hidden; +} +``` + +**注:** 以下の CSS によるアプローチでは同じことができません。 + +
    +
  • display: none; または visibility: hidden; はスクリーンリーダーユーザーを含むすべての人からコンテンツを非表示にします。
  • +
  • width: 0px; height: 0px; といったピクセルサイズが0の値は、ドキュメントの構成からその要素を取り除くため、スクリーンリーダーもこれを無視することを意味します。
  • +
+ +# --instructions-- + +Camper Cat は、トレーニングページ用の非常にクールな積み上げ棒グラフを作成し、視覚障害のあるユーザー用の表データも用意しました。 テーブルには既に `sr-only` クラスがありますが、まだ CSS ルールは入力されていません。 `position` に `absolute` の値、`left` に `-10000px` の値、`width` と `height` 両方に `1px` の値を設定してください。 + +# --hints-- + +`sr-only` クラスの `position` プロパティに値 `absolute` を設定する必要があります。 + +```js +assert($('.sr-only').css('position') == 'absolute'); +``` + +`sr-only` クラスの `left` プロパティに値 `-10000px` を設定する必要があります。 + +```js +assert($('.sr-only').css('left') == '-10000px'); +``` + +`sr-only` クラスの `width` プロパティに値 `1` ピクセルを設定する必要があります。 + +```js +assert(code.match(/width:\s*?1px/gi)); +``` + +`sr-only` クラスの `height` プロパティに値 `1` ピクセルを設定する必要があります。 + +```js +assert(code.match(/height:\s*?1px/gi)); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + +
+

Training

+ +
+
+

Master Camper Cat's Beginner Three Week Training Program

+
+ +

[Stacked bar chart]

+
+
Breakdown per week of time to spend training in stealth, combat, and weapons.
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Hours of Weekly Training in Stealth, Combat, and Weapons
Stealth & AgilityCombatWeaponsTotal
Week One35210
Week Two45312
Week Three46313
+
+
+

Stealth & Agility Training

+

Climb foliage quickly using a minimum spanning tree approach

+

No training is NP-complete without parkour

+
+
+

Combat Training

+

Dispatch multiple enemies with multithreaded tactics

+

Goodbye, world: 5 proven ways to knock out an opponent

+
+
+

Weapons Training

+

Swords: the best tool to literally divide and conquer

+

Breadth-first or depth-first in multi-weapon training?

+
+
© 2018 Camper Cat
+ +``` + +# --solutions-- + +```html + + + + +
+

Training

+ +
+
+

Master Camper Cat's Beginner Three Week Training Program

+
+ +

[Stacked bar chart]

+
+
Breakdown per week of time to spend training in stealth, combat, and weapons.
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Hours of Weekly Training in Stealth, Combat, and Weapons
Stealth & AgilityCombatWeaponsTotal
Week One35210
Week Two45312
Week Three46313
+
+
+

Stealth & Agility Training

+

Climb foliage quickly using a minimum spanning tree approach

+

No training is NP-complete without parkour

+
+
+

Combat Training

+

Dispatch multiple enemies with multithreaded tactics

+

Goodbye, world: 5 proven ways to knock out an opponent

+
+
+

Weapons Training

+

Swords: the best tool to literally divide and conquer

+

Breadth-first or depth-first in multi-weapon training?

+
+
© 2018 Camper Cat
+ +``` diff --git a/curriculum/challenges/japanese/01-responsive-web-design/applied-accessibility/make-links-navigable-with-html-access-keys.md b/curriculum/challenges/japanese/01-responsive-web-design/applied-accessibility/make-links-navigable-with-html-access-keys.md new file mode 100644 index 0000000000..8c6a90fb1e --- /dev/null +++ b/curriculum/challenges/japanese/01-responsive-web-design/applied-accessibility/make-links-navigable-with-html-access-keys.md @@ -0,0 +1,106 @@ +--- +id: 587d7790367417b2b2512aaf +title: HTML アクセスキーでリンクをナビゲーション可能にする +challengeType: 0 +videoUrl: 'https://scrimba.com/c/cQvmaTp' +forumTopicId: 301021 +dashedName: make-links-navigable-with-html-access-keys +--- + +# --description-- + +HTML は要素をアクティブ化したりフォーカスを与えるショートカットキーを指定する `accesskey` 属性を提供します。 `accesskey` 属性を追加することで、キーボードだけを使用するユーザーのナビゲーションがより効率的になります。 + +HTML5 ではこの属性を任意の要素に使用することができますが、これを対話型の要素に使用すると特に有益です。 これにはリンク、ボタン、フォームコントロールが含まれます。 + +例: + +```html + +``` + +# --instructions-- + +Camper Cat は、2 つのブログ記事タイトル周りのリンクがキーボードショートカットを持つことで、サイトのユーザーがすぐに記事全体のページへ移動できるようにしたいと思っています。 両方のリンクに `accesskey` 属性を追加し、1 番目のものに `g` (Garfield の g) に、2 番目のものに `c` (Chuck Norris の c) を設定します。 + +# --hints-- + +コードは `id` が `first` 値を持つ `a` タグに `accesskey` 属性を追加する必要があります。 + +```js +assert($('#first').attr('accesskey')); +``` + +コードは `id` が `second` 値を持つ `a` タグに `accesskey` 属性を追加する必要があります。 + +```js +assert($('#second').attr('accesskey')); +``` + +コードには `id` が `first` 値を持つ `a` タグに `accesskey` 属性として `g` を設定する必要があります。 大文字・小文字が区別されることに注意してください。 + +```js +assert($('#first').attr('accesskey') == 'g'); +``` + +コードには `id` が `second` 値を持つ `a` タグに `accesskey` 属性として `c` を設定する必要があります。 大文字・小文字が区別されることに注意してください。 + +```js +assert($('#second').attr('accesskey') == 'c'); +``` + +# --seed-- + +## --seed-contents-- + +```html + +
+

Deep Thoughts with Master Camper Cat

+
+
+ + +

The Garfield Files: Lasagna as Training Fuel?

+ + +

The internet is littered with varying opinions on nutritional paradigms, from catnip paleo to hairball cleanses. But let's turn our attention to an often overlooked fitness fuel, and examine the protein-carb-NOM trifecta that is lasagna...

+
+
+ + +

Is Chuck Norris a Cat Person?

+ + +

Chuck Norris is widely regarded as the premier martial artist on the planet, and it's a complete coincidence anyone who disagrees with this fact mysteriously disappears soon after. But the real question is, is he a cat person?...

+
+
© 2018 Camper Cat
+ +``` + +# --solutions-- + +```html + +
+

Deep Thoughts with Master Camper Cat

+
+
+ + +

The Garfield Files: Lasagna as Training Fuel?

+ + +

The internet is littered with varying opinions on nutritional paradigms, from catnip paleo to hairball cleanses. But let's turn our attention to an often overlooked fitness fuel, and examine the protein-carb-NOM trifecta that is lasagna...

+
+
+ + +

Is Chuck Norris a Cat Person?

+ + +

Chuck Norris is widely regarded as the premier martial artist on the planet, and it's a complete coincidence anyone who disagrees with this fact mysteriously disappears soon after. But the real question is, is he a cat person?...

+
+
© 2018 Camper Cat
+ +``` diff --git a/curriculum/challenges/japanese/01-responsive-web-design/applied-accessibility/make-screen-reader-navigation-easier-with-the-footer-landmark.md b/curriculum/challenges/japanese/01-responsive-web-design/applied-accessibility/make-screen-reader-navigation-easier-with-the-footer-landmark.md new file mode 100644 index 0000000000..b360090712 --- /dev/null +++ b/curriculum/challenges/japanese/01-responsive-web-design/applied-accessibility/make-screen-reader-navigation-easier-with-the-footer-landmark.md @@ -0,0 +1,116 @@ +--- +id: 587d7788367417b2b2512aa3 +title: footer の目印でスクリーンリーダーのナビゲーションを容易にする +challengeType: 0 +videoUrl: 'https://scrimba.com/c/crVrDh8' +forumTopicId: 301022 +dashedName: make-screen-reader-navigation-easier-with-the-footer-landmark +--- + +# --description-- + +`header` や `nav` と同じように、`footer` 要素にも目印になる機能が備わっており、支援機器がそこへ素早く移動することを可能にします。 これは主に著作権情報や関連ドキュメントへのリンクをページの下部に含めるために使用されます。 + +# --instructions-- + +Camper Cat のトレーニングページ作成は順調に進んでいます。 彼がページの下部にある著作権情報を囲むために使用した `div` を `footer` 要素に変更してください。 + +# --hints-- + +コードには `footer` タグが 1 つ必要です。 + +```js +assert($('footer').length == 1); +``` + +コードに `div` タグを含めないでください。 + +```js +assert($('div').length == 0); +``` + +コードには `footer` の開始タグと終了タグが必要です。 + +```js +assert(code.match(/