From 905018ad355b64751264f43c70ce839faa486c9f Mon Sep 17 00:00:00 2001 From: camperbot Date: Mon, 11 Apr 2022 19:34:39 +0530 Subject: [PATCH] chore(i18n,learn): processed translations (#45670) --- .../change-a-variable-for-a-specific-area.md | 4 +- ...ents-using-the-justify-content-property.md | 2 +- .../convert-celsius-to-fahrenheit.md | 4 +- .../check-if-an-object-has-a-property.md | 2 +- .../remove-items-using-splice.md | 2 +- .../access-array-data-with-indexes.md | 8 +- .../basic-javascript/record-collection.md | 8 +- .../understanding-uninitialized-variables.md | 2 +- .../everything-be-true.md | 165 +++++------ ...ents-using-the-justify-content-property.md | 4 +- .../access-array-data-with-indexes.md | 6 +- .../find-the-length-of-a-string.md | 2 +- .../61329d52e5010e08d9b9d66b.md | 68 +++++ .../6133acc353338c0bba9cb553.md | 63 ++++ .../6133d11ef548f51f876149e3.md | 68 +++++ .../613e2546d0594208229ada50.md | 93 ++++++ .../613e275749ebd008e74bb62e.md | 66 +++++ .../61408e4ae3e35d08feb260eb.md | 83 ++++++ .../61408f155e798909b6908712.md | 112 +++++++ .../61435e3c0679a306c20f1acc.md | 125 ++++++++ .../61487b77d4a37707073a64e5.md | 261 +++++++++++++++++ .../61487da611a65307e78d2c20.md | 275 ++++++++++++++++++ .../614ccc21ea91ef1736b9b578.md | 50 ++++ .../613297a923965e0703b64796.md | 2 +- .../61329b210dac0b08047fd6ab.md | 2 +- .../61329d52e5010e08d9b9d66b.md | 2 +- .../6133acc353338c0bba9cb553.md | 2 +- .../6133d11ef548f51f876149e3.md | 68 +++++ .../613e2546d0594208229ada50.md | 93 ++++++ .../614ccc21ea91ef1736b9b578.md | 2 +- ...font-size-for-multiple-heading-elements.md | 4 +- .../positive-and-negative-lookahead.md | 2 +- .../problem-101-optimum-polynomial.md | 4 +- ...problem-103-special-subset-sums-optimum.md | 5 +- .../problem-108-diophantine-reciprocals-i.md | 4 +- .../project-euler/problem-109-darts.md | 7 +- .../problem-122-efficient-exponentiation.md | 9 +- .../problem-137-fibonacci-golden-nuggets.md | 3 +- ...y-for-a-sub-triangle-having-minimum-sum.md | 8 +- ...em-157-solving-the-diophantine-equation.md | 5 +- ...159-digital-root-sums-of-factorisations.md | 5 +- .../problem-160-factorial-trailing-digits.md | 3 +- .../problem-163-cross-hatched-triangles.md | 3 +- .../problem-165-intersections.md | 8 +- .../project-euler/problem-166-criss-cross.md | 4 +- ...an-be-expressed-as-a-sum-of-powers-of-2.md | 4 +- ...can-be-formed-by-concatenating-products.md | 3 +- ...f-the-squares-of-the-digits-is-a-square.md | 4 +- ...-zeros-of-a-function-of-three-variables.md | 3 +- .../project-euler/problem-185-number-mind.md | 5 +- .../problem-196-prime-triplets.md | 8 +- .../problem-201-subsets-with-a-unique-sum.md | 12 +- ...em-203-squarefree-binomial-coefficients.md | 6 +- ...problem-207-integer-partition-equations.md | 6 +- .../problem-212-combined-volume-of-cuboids.md | 5 +- .../problem-214-totient-chains.md | 6 +- .../problem-228-minkowski-sums.md | 3 +- ...-229-four-representations-using-squares.md | 8 +- .../problem-230-fibonacci-words.md | 10 +- .../problem-238-infinite-string-tour.md | 3 +- .../project-euler/problem-240-top-dice.md | 4 +- .../project-euler/problem-244-sliders.md | 4 +- .../project-euler/problem-252-convex-holes.md | 3 +- .../problem-255-rounded-square-roots.md | 3 +- .../problem-261-pivotal-square-sums.md | 4 +- .../problem-282-the-ackermann-function.md | 3 +- .../problem-288-an-enormous-factorial.md | 3 +- .../problem-295-lenticular-holes.md | 3 +- ...em-312-cyclic-paths-on-sierpiski-graphs.md | 4 +- .../project-euler/problem-318-2011-nines.md | 6 +- .../problem-324-building-a-tower.md | 4 +- .../problem-330-eulers-number.md | 6 +- .../problem-333-special-partitions.md | 3 +- .../problem-334-spilling-the-beans.md | 5 +- .../problem-340-crazy-function.md | 3 +- ...em-341-golombs-self-describing-sequence.md | 3 +- .../project-euler/problem-345-matrix-sum.md | 13 +- .../problem-348-sum-of-a-square-and-a-cube.md | 4 +- ...e-least-greatest-and-the-greatest-least.md | 4 +- .../problem-358-cyclic-numbers.md | 9 +- .../problem-359-hilberts-new-hotel.md | 5 +- ...-361-subsequence-of-thue-morse-sequence.md | 3 +- .../problem-368-a-kempner-like-series.md | 3 +- .../problem-375-minimum-of-subsequences.md | 3 +- .../problem-376-nontransitive-sets-of-dice.md | 4 +- .../problem-38-pandigital-multiples.md | 4 +- .../problem-384-rudin-shapiro-sequence.md | 7 +- .../problem-406-guessing-game.md | 4 +- .../problem-414-kaprekar-constant.md | 3 +- .../problem-417-reciprocal-cycles-ii.md | 7 +- ...problem-420-2x2-positive-integer-matrix.md | 9 +- .../problem-423-consecutive-die-throws.md | 3 +- .../problem-426-box-ball-system.md | 3 +- .../problem-433-steps-in-euclids-algorithm.md | 3 +- .../problem-437-fibonacci-primitive-roots.md | 6 +- .../problem-440-gcd-and-tiling.md | 3 +- .../project-euler/problem-443-gcd-sequence.md | 6 +- .../problem-451-modular-inverses.md | 5 +- ...problem-455-powers-with-trailing-digits.md | 4 +- ...-456-triangles-containing-the-origin-ii.md | 6 +- ...problem-463-a-weird-recurrence-relation.md | 4 +- ...istinct-terms-in-a-multiplication-table.md | 8 +- .../project-euler/problem-467-superinteger.md | 9 +- ...mooth-divisors-of-binomial-coefficients.md | 6 +- .../problem-480-the-last-question.md | 20 +- .../problem-74-digit-factorial-chains.md | 8 +- .../problem-81-path-sum-two-ways.md | 4 +- .../problem-82-path-sum-three-ways.md | 4 +- .../problem-83-path-sum-four-ways.md | 4 +- .../problem-92-square-digit-chains.md | 3 +- 110 files changed, 1846 insertions(+), 210 deletions(-) create mode 100644 curriculum/challenges/italian/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/61329d52e5010e08d9b9d66b.md create mode 100644 curriculum/challenges/italian/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6133acc353338c0bba9cb553.md create mode 100644 curriculum/challenges/italian/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6133d11ef548f51f876149e3.md create mode 100644 curriculum/challenges/italian/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/613e2546d0594208229ada50.md create mode 100644 curriculum/challenges/italian/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/613e275749ebd008e74bb62e.md create mode 100644 curriculum/challenges/italian/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/61408e4ae3e35d08feb260eb.md create mode 100644 curriculum/challenges/italian/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/61408f155e798909b6908712.md create mode 100644 curriculum/challenges/italian/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/61435e3c0679a306c20f1acc.md create mode 100644 curriculum/challenges/italian/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/61487b77d4a37707073a64e5.md create mode 100644 curriculum/challenges/italian/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/61487da611a65307e78d2c20.md create mode 100644 curriculum/challenges/italian/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/614ccc21ea91ef1736b9b578.md create mode 100644 curriculum/challenges/portuguese/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6133d11ef548f51f876149e3.md create mode 100644 curriculum/challenges/portuguese/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/613e2546d0594208229ada50.md diff --git a/curriculum/challenges/espanol/01-responsive-web-design/basic-css/change-a-variable-for-a-specific-area.md b/curriculum/challenges/espanol/01-responsive-web-design/basic-css/change-a-variable-for-a-specific-area.md index 405c676bf2..15376cef59 100644 --- a/curriculum/challenges/espanol/01-responsive-web-design/basic-css/change-a-variable-for-a-specific-area.md +++ b/curriculum/challenges/espanol/01-responsive-web-design/basic-css/change-a-variable-for-a-specific-area.md @@ -11,7 +11,7 @@ dashedName: change-a-variable-for-a-specific-area Cuando creas tus variables en `:root`, el valor de esa variable quedará establecido para toda la página. -Luego podrás sobreescribir estas variables, configurándolas de nuevo dentro de un elemento específico. +Puedes entonces sobreescribir estas variables configurándolas nuevamente con un selector específico. # --instructions-- @@ -27,7 +27,7 @@ assert( ); ``` -La clase `penguin` no debe contener la propiedad `background-color` +La clase `penguin` no debe de tener la propiedad `background-color`. ```js assert( diff --git a/curriculum/challenges/espanol/01-responsive-web-design/css-flexbox/align-elements-using-the-justify-content-property.md b/curriculum/challenges/espanol/01-responsive-web-design/css-flexbox/align-elements-using-the-justify-content-property.md index dcb072f9b6..29a2b0c104 100644 --- a/curriculum/challenges/espanol/01-responsive-web-design/css-flexbox/align-elements-using-the-justify-content-property.md +++ b/curriculum/challenges/espanol/01-responsive-web-design/css-flexbox/align-elements-using-the-justify-content-property.md @@ -11,7 +11,7 @@ dashedName: align-elements-using-the-justify-content-property Algunas veces los elementos flexibles dentro de un contenedor flexible no llenan todo el espacio del contenedor. Es común querer indicarle al CSS cómo alinear y espaciar los elementos flexibles de una determinada manera. Afortunadamente, la propiedad `justify-content` tiene varias opciones para hacer esto. Pero primero, hay que entender alguna terminología importante antes de revisar dichas opciones. -[Aquí hay una imagen útil que muestra una fila para ilustrar los conceptos siguientes.](https://www.w3.org/TR/css-flexbox-1/images/flex-direction-terms.svg) +[Aquí hay una imagen útil del W3C que ilustra los conceptos siguientes para un contenedor 'row' flex.](https://www.w3.org/TR/css-flexbox-1/images/flex-direction-terms.svg) Recuerda que establecer un contenedor flexible como fila coloca los elementos flexibles uno al lado del otro de izquierda a derecha. Un contenedor flexible establecido como columna coloca los elementos flexibles apilados verticalmente de arriba a abajo. Para cada uno, la dirección en la que están dispuestos los elementos flexibles se llama el **eje principal**. Para una fila, esta es una línea horizontal que recorta cada elemento. Y para una columna, el eje principal es una línea vertical a través de los elementos. diff --git a/curriculum/challenges/espanol/02-javascript-algorithms-and-data-structures/basic-algorithm-scripting/convert-celsius-to-fahrenheit.md b/curriculum/challenges/espanol/02-javascript-algorithms-and-data-structures/basic-algorithm-scripting/convert-celsius-to-fahrenheit.md index c6ee9f61fc..b55fc9aaed 100644 --- a/curriculum/challenges/espanol/02-javascript-algorithms-and-data-structures/basic-algorithm-scripting/convert-celsius-to-fahrenheit.md +++ b/curriculum/challenges/espanol/02-javascript-algorithms-and-data-structures/basic-algorithm-scripting/convert-celsius-to-fahrenheit.md @@ -8,9 +8,9 @@ dashedName: convert-celsius-to-fahrenheit # --description-- -El algoritmo para convertir de Celsius a Fahrenheit es la temperatura en Celsius multiplicado por `9/5`, más `32`. +La fórmula para convertir de Celsius a Fahrenheit es la temperatura en Celsius multiplicado por `9/5`, más `32`. -Se te da una variable `celsius` que representa una temperatura en Celsius. Utiliza la variable `fahrenheit` ya definida y asígnale la temperatura Fahrenheit equivalente a la temperatura Celsius dada. Utiliza el algoritmo mencionado arriba para ayudar a convertir la temperatura en Celsius a Fahrenheit. +Se te da una variable `celsius` que representa una temperatura en Celsius. Utiliza la variable `fahrenheit` ya definida y asígnale la temperatura Fahrenheit equivalente a la temperatura Celsius dada. Utiliza la fórmula mencionada anteriormente para ayudarte a convertir la temperatura Celsius a Fahrenheit. # --hints-- diff --git a/curriculum/challenges/espanol/02-javascript-algorithms-and-data-structures/basic-data-structures/check-if-an-object-has-a-property.md b/curriculum/challenges/espanol/02-javascript-algorithms-and-data-structures/basic-data-structures/check-if-an-object-has-a-property.md index 2d0ba9fb48..e4bf6b4837 100644 --- a/curriculum/challenges/espanol/02-javascript-algorithms-and-data-structures/basic-data-structures/check-if-an-object-has-a-property.md +++ b/curriculum/challenges/espanol/02-javascript-algorithms-and-data-structures/basic-data-structures/check-if-an-object-has-a-property.md @@ -19,7 +19,7 @@ Ambos devuelven `true`. # --instructions-- -Termina de escribir la función para que devuelva "true" sólo si el objeto pasado contiene los cuatro nombres, `Alan`, `Jeff`, `Sarah` y `Ryan`, y devuelve false de lo contrario. +Termina de escribir la función para que devuelva `true` si el objeto pasado contiene los cuatro nombres, `Alan`, `Jeff`, `Sarah` and `Ryan` y devuelva `false` en caso contrario. # --hints-- diff --git a/curriculum/challenges/espanol/02-javascript-algorithms-and-data-structures/basic-data-structures/remove-items-using-splice.md b/curriculum/challenges/espanol/02-javascript-algorithms-and-data-structures/basic-data-structures/remove-items-using-splice.md index fe1f9c285e..c39f7349f8 100644 --- a/curriculum/challenges/espanol/02-javascript-algorithms-and-data-structures/basic-data-structures/remove-items-using-splice.md +++ b/curriculum/challenges/espanol/02-javascript-algorithms-and-data-structures/basic-data-structures/remove-items-using-splice.md @@ -10,7 +10,7 @@ dashedName: remove-items-using-splice Bien, ya hemos aprendido a eliminar elementos al principio y al final de los arreglos utilizando `shift()` y `pop()`, pero ¿qué pasa si queremos eliminar un elemento de alguna parte del medio? ¿O eliminar más de un elemento a la vez? Pues bien, ahí es donde entra `splice()`. `splice()` nos permite hacer precisamente eso: **eliminar cualquier número de elementos consecutivos** de cualquier parte de un arreglo. -`splice()` puede tomar hasta 3 parámetros, pero por ahora, nos centraremos sólo en los 2 primeros. Los dos primeros parámetros de `splice()` son enteros que representan índices, o posiciones, del arreglo que llama `splice()`. Y recuerda que los arreglos están *indexados en cero*, por lo que para indicar el primer elemento de un arreglo, usaríamos `0`. El primer parámetro de `splice()` representa el índice del arreglo a partir del cual se empiezan a eliminar los elementos, mientras que el segundo parámetro indica el número de elementos a eliminar. Por ejemplo: +`splice()` puede tomar hasta 3 parámetros, pero por ahora, nos centraremos sólo en los 2 primeros. Los primeros dos parámetros de `splice()` son enteros que representan índices, o posiciones, de elementos en el arreglo a la que `splice()` está siendo llamado. Y recuerda que los arreglos están *indexados en cero*, por lo que para indicar el primer elemento de un arreglo, usaríamos `0`. El primer parámetro de `splice()` representa el índice del arreglo a partir del cual se empiezan a eliminar los elementos, mientras que el segundo parámetro indica el número de elementos a eliminar. Por ejemplo: ```js let array = ['today', 'was', 'not', 'so', 'great']; diff --git a/curriculum/challenges/espanol/02-javascript-algorithms-and-data-structures/basic-javascript/access-array-data-with-indexes.md b/curriculum/challenges/espanol/02-javascript-algorithms-and-data-structures/basic-javascript/access-array-data-with-indexes.md index 96e7c2919b..e1c9d1ae4b 100644 --- a/curriculum/challenges/espanol/02-javascript-algorithms-and-data-structures/basic-javascript/access-array-data-with-indexes.md +++ b/curriculum/challenges/espanol/02-javascript-algorithms-and-data-structures/basic-javascript/access-array-data-with-indexes.md @@ -19,17 +19,15 @@ Los índices de los arreglos se escriben en la misma notación de corchetes que ```js const array = [50, 60, 70]; -array[0]; +console.log(array[0]); const data = array[1]; ``` -`array[0]` ahora es `50` y `data` tiene el valor `60`. - -**Nota:** No debe haber espacios entre el nombre del arreglo y los corchetes, como `array [0]`. Aunque JavaScript pueda procesar esto correctamente, puedes confundir a otros programadores al leer tu código. +`console.log(array[0])` imprime `50`, y `data` tiene el valor `60`. # --instructions-- -Crea una variable llamada `myData` e iguálala al primer valor de `myArray` usando notación de corchetes. +Crea una variable llamada `myData` y establécela para que sea igual al primer valor de `myArray` usando notación de corchetes. # --hints-- diff --git a/curriculum/challenges/espanol/02-javascript-algorithms-and-data-structures/basic-javascript/record-collection.md b/curriculum/challenges/espanol/02-javascript-algorithms-and-data-structures/basic-javascript/record-collection.md index 74d1e180a1..340b9db0eb 100644 --- a/curriculum/challenges/espanol/02-javascript-algorithms-and-data-structures/basic-javascript/record-collection.md +++ b/curriculum/challenges/espanol/02-javascript-algorithms-and-data-structures/basic-javascript/record-collection.md @@ -31,13 +31,13 @@ assert( ); ``` -Después de `updateRecords(recordCollection, 5439, "tracks", "Take a Chance on Me")`, `tracks` debe tener la cadena `Take a Chance on Me` como último elemento. +Después `updateRecords(recordCollection, 5439, "tracks", "Take a Chance on Me")`, `tracks` debe de tener la cadena `Take a Chance on Me` como el último y único elemento. ```js assert( - updateRecords(_recordCollection, 5439, 'tracks', 'Take a Chance on Me')[5439][ - 'tracks' - ].pop() === 'Take a Chance on Me' + updateRecords(_recordCollection, 5439, 'tracks', 'Take a Chance on Me') && + _recordCollection[5439]['tracks'].length === 1 && + _recordCollection[5439]['tracks'].pop() === 'Take a Chance on Me' ); ``` diff --git a/curriculum/challenges/espanol/02-javascript-algorithms-and-data-structures/basic-javascript/understanding-uninitialized-variables.md b/curriculum/challenges/espanol/02-javascript-algorithms-and-data-structures/basic-javascript/understanding-uninitialized-variables.md index e685634483..17f5d499ed 100644 --- a/curriculum/challenges/espanol/02-javascript-algorithms-and-data-structures/basic-javascript/understanding-uninitialized-variables.md +++ b/curriculum/challenges/espanol/02-javascript-algorithms-and-data-structures/basic-javascript/understanding-uninitialized-variables.md @@ -9,7 +9,7 @@ dashedName: understanding-uninitialized-variables # --description-- -Cuando las variables de JavaScript son declaradas, tienen un valor inicial de `undefined` (indefinido). Si haces una operación matemática en una variable `undefined`, tu resultado será `NaN` lo que significa "Not a Number" (no es un número). Si concatenas una cadena con una variable `undefined`, obtendrás una cadena literal con valor `undefined`. +Cuando las variables de JavaScript son declaradas, tienen un valor inicial de `undefined` (indefinido). Si haces una operación matemática en una variable `undefined`, tu resultado será `NaN` lo que significa "Not a Number" (no es un número). Si concatenas una cadena con una variable `undefined`, obtendrás una cadena de `undefined`. # --instructions-- diff --git a/curriculum/challenges/espanol/02-javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/everything-be-true.md b/curriculum/challenges/espanol/02-javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/everything-be-true.md index ec34c9f089..71d0e997b6 100644 --- a/curriculum/challenges/espanol/02-javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/everything-be-true.md +++ b/curriculum/challenges/espanol/02-javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/everything-be-true.md @@ -18,120 +18,123 @@ Recuerda, puedes acceder a las propiedades del objeto mediante la notación de p # --hints-- -`truthCheck([{"user": "Tinky-Winky", "sex": "male"}, {"user": "Dipsy", "sex": "male"}, {"user": "Laa-Laa", "sex": "female"}, {"user": "Po", "sex": "female"}], "sex")` debe devolver `true`. +`truthCheck([{name: "Quincy", role: "Founder", isBot: false}, {name: "Naomi", role: "", isBot: false}, {name: "Camperbot", role: "Bot", isBot: true}], "isBot")` debe devolver `false`. ```js -assert.strictEqual( - truthCheck( - [ - { user: 'Tinky-Winky', sex: 'male' }, - { user: 'Dipsy', sex: 'male' }, - { user: 'Laa-Laa', sex: 'female' }, - { user: 'Po', sex: 'female' } - ], - 'sex' - ), - true -); +assert.strictEqual(truthCheck( + [ + { name: "Quincy", role: "Founder", isBot: false }, + { name: "Naomi", role: "", isBot: false }, + { name: "Camperbot", role: "Bot", isBot: true } + ], + "isBot"), false); ``` -`truthCheck([{"user": "Tinky-Winky", "sex": "male"}, {"user": "Dipsy"}, {"user": "Laa-Laa", "sex": "female"}, {"user": "Po", "sex": "female"}], "sex")` debe devolver `false`. +`truthCheck([{name: "Quincy", role: "Founder", isBot: false}, {name: "Naomi", role: "", isBot: false}, {name: "Camperbot", role: "Bot", isBot: true}], "name")` debe devolver `true`. ```js -assert.strictEqual( - truthCheck( - [ - { user: 'Tinky-Winky', sex: 'male' }, - { user: 'Dipsy' }, - { user: 'Laa-Laa', sex: 'female' }, - { user: 'Po', sex: 'female' } - ], - 'sex' - ), - false -); +assert.strictEqual(truthCheck( + [ + { name: "Quincy", role: "Founder", isBot: false }, + { name: "Naomi", role: "", isBot: false }, + { name: "Camperbot", role: "Bot", isBot: true } + ], + "name"), true); ``` -`truthCheck([{"user": "Tinky-Winky", "sex": "male", "age": 0}, {"user": "Dipsy", "sex": "male", "age": 3}, {"user": "Laa-Laa", "sex": "female", "age": 5}, {"user": "Po", "sex": "female", "age": 4}], "age")` debe devolver `false`. +`truthCheck([{name: "Quincy", role: "Founder", isBot: false}, {name: "Naomi", role: "", isBot: false}, {name: "Camperbot", role: "Bot", isBot: true}], "role")` debe devolver `false`. ```js -assert.strictEqual( - truthCheck( - [ - { user: 'Tinky-Winky', sex: 'male', age: 2 }, - { user: 'Dipsy', sex: 'male', age: 0 }, - { user: 'Laa-Laa', sex: 'female', age: 5 }, - { user: 'Po', sex: 'female', age: 4 } - ], - 'age' - ), - false -); +assert.strictEqual(truthCheck( + [ + { name: "Quincy", role: "Founder", isBot: false }, + { name: "Naomi", role: "", isBot: false }, + { name: "Camperbot", role: "Bot", isBot: true } + ], + "role"), false); ``` -`truthCheck([{"name": "Pete", "onBoat": true}, {"name": "Repeat", "onBoat": true}, {"name": "FastForward", "onBoat": null}], "onBoat")` debe devolver `false`. +`truthCheck([{name: "Pikachu", number: 25, caught: 3}, {name: "Togepi", number: 175, caught: 1}], "number")` debe devolver `true`. ```js -assert.strictEqual( - truthCheck( - [ - { name: 'Pete', onBoat: true }, - { name: 'Repeat', onBoat: true }, - { name: 'FastForward', onBoat: null } - ], - 'onBoat' - ), - false -); +assert.strictEqual(truthCheck( + [ + { name: "Pikachu", number: 25, caught: 3 }, + { name: "Togepi", number: 175, caught: 1 }, + ], + "number"), true); ``` -`truthCheck([{"name": "Pete", "onBoat": true}, {"name": "Repeat", "onBoat": true, "alias": "Repete"}, {"name": "FastForward", "onBoat": true}], "onBoat")` debe devolver `true`. +`truthCheck([{name: "Pikachu", number: 25, caught: 3}, {name: "Togepi", number: 175, caught: 1}, {name: "MissingNo", number: NaN, caught: 0}], "caught")` debe devolver `false`. ```js -assert.strictEqual( - truthCheck( - [ - { name: 'Pete', onBoat: true }, - { name: 'Repeat', onBoat: true, alias: 'Repete' }, - { name: 'FastForward', onBoat: true } - ], - 'onBoat' - ), - true -); +assert.strictEqual(truthCheck( + [ + { name: "Pikachu", number: 25, caught: 3 }, + { name: "Togepi", number: 175, caught: 1 }, + { name: "MissingNo", number: NaN, caught: 0 }, + ], + "caught"), false); ``` -`truthCheck([{"single": "yes"}], "single")` debe devolver `true`. +`truthCheck([{name: "Pikachu", number: 25, caught: 3}, {name: "Togepi", number: 175, caught: 1}, {name: "MissingNo", number: NaN, caught: 0}], "number")` debe devolver `false`. ```js -assert.strictEqual(truthCheck([{ single: 'yes' }], 'single'), true); +assert.strictEqual(truthCheck( + [ + { name: "Pikachu", number: 25, caught: 3 }, + { name: "Togepi", number: 175, caught: 1 }, + { name: "MissingNo", number: NaN, caught: 0 }, + ], + "number"), false); ``` -`truthCheck([{"single": ""}, {"single": "double"}], "single")` debe devolver `false`. +`truthCheck([{name: "Quincy", username: "QuincyLarson"}, {name: "Naomi", username: "nhcarrigan"}, {name: "Camperbot"}], "username")` debe devolver `false`. ```js -assert.strictEqual( - truthCheck([{ single: '' }, { single: 'double' }], 'single'), - false -); +assert.strictEqual(truthCheck( + [ + { name: "Quincy", username: "QuincyLarson" }, + { name: "Naomi", username: "nhcarrigan" }, + { name: "Camperbot" } + ], + "username"), false); ``` -`truthCheck([{"single": "double"}, {"single": undefined}], "single")` debe devolver `false`. +`truthCheck([{name: "freeCodeCamp", users: [{name: "Quincy"}, {name: "Naomi"}]}, {name: "Code Radio", users: [{name: "Camperbot"}]}, {name: "", users: []}], "users")` debe devolver `true`. ```js -assert.strictEqual( - truthCheck([{ single: 'double' }, { single: undefined }], 'single'), - false -); +assert.strictEqual(truthCheck( + [ + { name: "freeCodeCamp", users: [{ name: "Quincy" }, { name: "Naomi" }] }, + { name: "Code Radio", users: [{ name: "Camperbot" }] }, + { name: "", users: [] }, + ], + "users"), true); ``` -`truthCheck([{"single": "double"}, {"single": NaN}], "single")` debe devolver `false`. +`truthCheck([{id: 1, data: {url: "https://freecodecamp.org", name: "freeCodeCamp"}}, {id: 2, data: {url: "https://coderadio.freecodecamp.org/", name: "CodeRadio"}}, {id: null, data: {}}], "data")` debe devolver `true`. ```js -assert.strictEqual( - truthCheck([{ single: 'double' }, { single: NaN }], 'single'), - false -); +assert.strictEqual(truthCheck( + [ + { id: 1, data: { url: "https://www.freecodecamp.org", name: "freeCodeCamp" } }, + { id: 2, data: { url: "https://coderadio.freecodecamp.org/", name: "CodeRadio" } }, + { id: null, data: {} }, + ], + "data"), true); +``` + +`truthCheck([{id: 1, data: {url: "https://freecodecamp.org", name: "freeCodeCamp"}}, {id: 2, data: {url: "https://coderadio.freecodecamp.org/", name: "CodeRadio"}}, {id: null, data: {}}], "id")` debe devolver `false`. + +```js +assert.strictEqual(truthCheck( + [ + { id: 1, data: { url: "https://www.freecodecamp.org", name: "freeCodeCamp" } }, + { id: 2, data: { url: "https://coderadio.freecodecamp.org/", name: "CodeRadio" } }, + { id: null, data: {} }, + ], + "id"), false); ``` # --seed-- @@ -143,7 +146,7 @@ function truthCheck(collection, pre) { return pre; } -truthCheck([{"user": "Tinky-Winky", "sex": "male"}, {"user": "Dipsy", "sex": "male"}, {"user": "Laa-Laa", "sex": "female"}, {"user": "Po", "sex": "female"}], "sex"); +truthCheck([{name: "Quincy", role: "Founder", isBot: false}, {name: "Naomi", role: "", isBot: false}, {name: "Camperbot", role: "Bot", isBot: true}], "isBot"); ``` # --solutions-- diff --git a/curriculum/challenges/italian/01-responsive-web-design/css-flexbox/align-elements-using-the-justify-content-property.md b/curriculum/challenges/italian/01-responsive-web-design/css-flexbox/align-elements-using-the-justify-content-property.md index a8cef073e6..0c317e4302 100644 --- a/curriculum/challenges/italian/01-responsive-web-design/css-flexbox/align-elements-using-the-justify-content-property.md +++ b/curriculum/challenges/italian/01-responsive-web-design/css-flexbox/align-elements-using-the-justify-content-property.md @@ -9,9 +9,9 @@ dashedName: align-elements-using-the-justify-content-property # --description-- -Certe volte gli oggetti flex all'interno di un contenitore flex non riempiono tutto lo spazio del contenitore. È comune voler dire a CSS di allineare e spaziare gli elementi flex in una certa maniera. Fortunatamente, la proprietà `justify-content` ha diverse opzioni per farlo. Ma prima, c'è un pò di terminologia importante da comprendere prima di rivedere queste opzioni. +Certe volte gli oggetti flex all'interno di un contenitore flex non riempiono tutto lo spazio del contenitore. È comune voler dire a CSS di allineare e spaziare gli elementi flex in una certa maniera. Fortunatamente, la proprietà `justify-content` ha diverse opzioni per farlo. Ma prima, c'è un po' di terminologia importante da capire prima di rivedere queste opzioni. -[Ecco un'immagine molto utile che mostra una riga per illustrare i concetti qui sotto.](https://www.w3.org/TR/css-flexbox-1/images/flex-direction-terms.svg) +[Ecco una immagine utile da W3C che illustra i concetti sotto per un contenitore 'row' (riga) flex.](https://www.w3.org/TR/css-flexbox-1/images/flex-direction-terms.svg) Ricorda che l'impostazione di un contenitore flex come riga posiziona gli elementi flex fianco a fianco da sinistra a destra. Un contenitore flex impostato come colonna piazza gli oggetti flex in una pila verticale dall'alto verso il basso. Per ognuno, la direzione in cui sono disposti gli elementi flex è chiamata **asse principale**. Per una riga, si tratta di una linea orizzontale che taglia ogni elemento. E per una colonna, l'asse principale è una linea verticale attraverso gli elementi. diff --git a/curriculum/challenges/italian/02-javascript-algorithms-and-data-structures/basic-javascript/access-array-data-with-indexes.md b/curriculum/challenges/italian/02-javascript-algorithms-and-data-structures/basic-javascript/access-array-data-with-indexes.md index d798f846d2..2aa00ea15d 100644 --- a/curriculum/challenges/italian/02-javascript-algorithms-and-data-structures/basic-javascript/access-array-data-with-indexes.md +++ b/curriculum/challenges/italian/02-javascript-algorithms-and-data-structures/basic-javascript/access-array-data-with-indexes.md @@ -25,11 +25,9 @@ const data = array[1]; `console.log(array[0])` scrive `50`, e `data` ha il valore `60`. -**Nota:** Non ci dovrebbero essere spazi tra il nome dell'array e le parentesi quadre, come in `array [0]`. Anche se JavaScript è in grado di elaborarlo correttamente, questo potrebbe confondere altri programmatori che leggono il tuo codice. - # --instructions-- -Crea una variabile chiamata `myData` e impostala al primo valore di `myArray` usando la notazione a parentesi. +Crea una variabile chiamata `myData` e imponila uguale al primo valore di `myArray` usando la notazione a parentesi quadre. # --hints-- @@ -51,7 +49,7 @@ assert( ); ``` -Si dovrebbe accedere ai dati nella variabile `myArray` utilizzando la notazione a parentesi. +Dovresti accedere ai dati nella variabile `myArray` usando la notazione a parentesi quadre. ```js assert( diff --git a/curriculum/challenges/italian/02-javascript-algorithms-and-data-structures/basic-javascript/find-the-length-of-a-string.md b/curriculum/challenges/italian/02-javascript-algorithms-and-data-structures/basic-javascript/find-the-length-of-a-string.md index e590f6893d..c7ae6c7835 100644 --- a/curriculum/challenges/italian/02-javascript-algorithms-and-data-structures/basic-javascript/find-the-length-of-a-string.md +++ b/curriculum/challenges/italian/02-javascript-algorithms-and-data-structures/basic-javascript/find-the-length-of-a-string.md @@ -15,7 +15,7 @@ Puoi trovare la lunghezza di un valore `String` scrivendo `.length` dopo la vari console.log("Alan Peter".length); ``` -Il valore `10` sarà visualizzato nella console. +Il valore `10` sarà visualizzato nella console. Nota che è contato anche il carattere spazio tra "Alan" e "Peter". Ad esempio, se avessimo creato una variabile `const firstName = "Ada"`, potremmo scoprire quanto è lunga la stringa `Ada` utilizzando la proprietà `firstName.length`. diff --git a/curriculum/challenges/italian/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/61329d52e5010e08d9b9d66b.md b/curriculum/challenges/italian/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/61329d52e5010e08d9b9d66b.md new file mode 100644 index 0000000000..8f9b0ad1c5 --- /dev/null +++ b/curriculum/challenges/italian/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/61329d52e5010e08d9b9d66b.md @@ -0,0 +1,68 @@ +--- +id: 61329d52e5010e08d9b9d66b +title: Step 4 +challengeType: 0 +dashedName: step-4 +--- + +# --description-- + +Un altro elemento `meta` importante per l'accessibilità e la SEO è la definizione `description`. Il valore dell'attributo `content` è usato dai motori di ricerca per dare una descrizione della tua pagina. + +Aggiungi un elemento `meta` con l'attributo `name` impostato a `description`, e dagli un attributo `content` utile. + +# --hints-- + +Dovresti aggiungere un nuovo elemento `meta` a `head`. + +```js +assert.equal(document.querySelectorAll('meta').length, 3); +``` + +Dovresti dare a `meta` un attributo `name` con valore di `description`. + +```js +assert.exists(document.querySelector('meta[name="description"]')); +``` + +Dovresti dare a `meta` un attributo `content`. + +```js +assert.notEmpty(document.querySelector('meta[name="description"]')?.content); +``` + +Il valore dell'attributo `content` non deve superare una lunghezza di 165 caratteri. _Questa è la lunghezza massima della descrizione permessa da Google._ + +```js +assert.isAtMost(document.querySelector('meta[name="description"]')?.content?.length, 165); +``` + +# --seed-- + +## --seed-contents-- + +```html + + +--fcc-editable-region-- + + + + + +--fcc-editable-region-- + + + + + +``` + +```css +body { + background: #f5f6f7; + color: #1b1b32; + font-family: Helvetica; + margin: 0; +} +``` diff --git a/curriculum/challenges/italian/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6133acc353338c0bba9cb553.md b/curriculum/challenges/italian/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6133acc353338c0bba9cb553.md new file mode 100644 index 0000000000..66fd2b90f4 --- /dev/null +++ b/curriculum/challenges/italian/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6133acc353338c0bba9cb553.md @@ -0,0 +1,63 @@ +--- +id: 6133acc353338c0bba9cb553 +title: Step 5 +challengeType: 0 +dashedName: step-5 +--- + +# --description-- + +Infine, nell'elemento `head`, l'elemento `title` è utile ai lettori di schermi per capire il contenuto di una pagina. Inoltre, è una parte importante della _SEO_. + +Assegna alla tua pagina un `title` che sia descrittivo e conciso. + +# --hints-- + +Dovresti aggiungere un elemento `title` dentro `head`. + +```js +assert.exists(document.querySelector('head > title')); +``` + +Non dovresti avere un `title` più lungo di 60 caratteri. + +```js +assert.isAtMost(document.querySelector('head > title')?.textContent?.length, 60); +``` + +Cerca di essere più descrittivo con il tuo elemento `title`. _Suggerimento: Almeno 15 caratteri_ + +```js +assert.isAtLeast(document.querySelector('head > title')?.textContent?.length, 15); +``` + +# --seed-- + +## --seed-contents-- + +```html + + +--fcc-editable-region-- + + + + + + +--fcc-editable-region-- + + + + + +``` + +```css +body { + background: #f5f6f7; + color: #1b1b32; + font-family: Helvetica; + margin: 0; +} +``` diff --git a/curriculum/challenges/italian/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6133d11ef548f51f876149e3.md b/curriculum/challenges/italian/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6133d11ef548f51f876149e3.md new file mode 100644 index 0000000000..e5ba472083 --- /dev/null +++ b/curriculum/challenges/italian/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6133d11ef548f51f876149e3.md @@ -0,0 +1,68 @@ +--- +id: 6133d11ef548f51f876149e3 +title: Step 6 +challengeType: 0 +dashedName: step-6 +--- + +# --description-- + +La navigazione è una parte fondamentale dell'accessibilità, e i lettori dello schermo si affidano a te per dare struttura alla pagina. Ciò viene realizzato con elementi HTML semantici. + +Aggiungi un elemento `header` e un elemento `main` alla tua pagina. + +L'elemento `header` verrà utilizzato per introdurre la pagina, oltre a fornire un menù di navigazione. + +L'elemento `main` conterrà il contenuto principale della tua pagina. + +# --hints-- + +Dovresti aggiungere un elemento `header` dentro `body`. + +```js +assert.exists(document.querySelector('body > header')); +``` + +Dovresti aggiungere un elemento `main` dentro `body`. + +```js +assert.exists(document.querySelector('body > main')); +``` + +L'elemento `header` dovrebbe precedere l'elemento `main`. + +```js +assert.exists(document.querySelector('header + main')); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + + Accessibility Quiz + + +--fcc-editable-region-- + + + +--fcc-editable-region-- + + +``` + +```css +body { + background: #f5f6f7; + color: #1b1b32; + font-family: Helvetica; + margin: 0; +} +``` diff --git a/curriculum/challenges/italian/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/613e2546d0594208229ada50.md b/curriculum/challenges/italian/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/613e2546d0594208229ada50.md new file mode 100644 index 0000000000..4428c42d97 --- /dev/null +++ b/curriculum/challenges/italian/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/613e2546d0594208229ada50.md @@ -0,0 +1,93 @@ +--- +id: 613e2546d0594208229ada50 +title: Step 7 +challengeType: 0 +dashedName: step-7 +--- + +# --description-- + +All'interno dell'elemento `header`, provedi del contesto per la pagina annidando un elemento `img`, `h1`, e `nav`. + +L'`img` dovrebbe puntare al link `https://cdn.freecodecamp.org/platform/universal/fcc_primary.svg` e avere un `id` di `logo`. + +L'elemento `h1` dovrebbe contenere il testo `HTML/CSS Quiz`. + +# --hints-- + +Dovresti aggiungere un elemento `img` all'elemento `header`. + +```js +assert.exists(document.querySelector('header > img')); +``` + +Dovresti aggiungere un elemento `h1` all'elemento `header`. + +```js +assert.exists(document.querySelector('header > h1')); +``` + +Dovresti aggiungere un elemento `nav` all'elemento `header`. + +```js +assert.exists(document.querySelector('header > nav')); +``` + +Dovresti posizionare gli elementi `img`, `h1` e `nav` in questo ordine. + +```js +assert.exists(document.querySelector('img + h1 + nav')); +``` + +Dovresti dare all'elemento `img` un attributo `src` di `https://cdn.freecodecamp.org/platform/universal/fcc_primary.svg`. + +```js +assert.equal(document.querySelector('img')?.src, 'https://cdn.freecodecamp.org/platform/universal/fcc_primary.svg'); +``` + +Dovresti dare all'elemento `img` un attributo `id` di `logo`. + +```js +assert.equal(document.querySelector('img')?.id, 'logo'); +``` + +Dovresti dare all'elemento `h1` il testo `HTML/CSS Quiz`. + +```js +assert.include(document.querySelector('h1')?.innerText?.toLowerCase(), 'html/css quiz'); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + + Accessibility Quiz + + + +--fcc-editable-region-- +
+ +
+--fcc-editable-region-- +
+ + + +``` + +```css +body { + background: #f5f6f7; + color: #1b1b32; + font-family: Helvetica; + margin: 0; +} +``` diff --git a/curriculum/challenges/italian/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/613e275749ebd008e74bb62e.md b/curriculum/challenges/italian/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/613e275749ebd008e74bb62e.md new file mode 100644 index 0000000000..be7166bdd6 --- /dev/null +++ b/curriculum/challenges/italian/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/613e275749ebd008e74bb62e.md @@ -0,0 +1,66 @@ +--- +id: 613e275749ebd008e74bb62e +title: Step 8 +challengeType: 0 +dashedName: step-8 +--- + +# --description-- + +Una proprietà utile di un _SVG_ (scalable vector graphics - grafica vettoriale scalabile) è che contiene un attributo `path` che permette di scalare l'immagine senza influenzare la risoluzione dell'immagine risultante. + +Attualmente, l'elemento `img` sta assumendo la sua dimensione predefinita, che è troppo grande. Ridimensiona l'immagine correttamente usando il suo `id` come selettore e impostando `width` a `max(100px, 18vw)`. + +# --hints-- + +Dovresti usare il selettore `#logo` per selezionare l'elemento `img`. + +```js +assert.exists(new __helpers.CSSHelp(document).getStyle('#logo')); +``` + +Dovresti dare a `img` un `width` di `max(100px, 18vw)`. + +```js +assert.equal(new __helpers.CSSHelp(document).getStyle('#logo')?.width, 'max(100px, 18vw)'); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + + Accessibility Quiz + + + +
+ +

HTML/CSS Quiz

+ +
+
+ + + +``` + +```css +body { + background: #f5f6f7; + color: #1b1b32; + font-family: Helvetica; + margin: 0; +} + +--fcc-editable-region-- + +--fcc-editable-region-- + +``` diff --git a/curriculum/challenges/italian/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/61408e4ae3e35d08feb260eb.md b/curriculum/challenges/italian/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/61408e4ae3e35d08feb260eb.md new file mode 100644 index 0000000000..8a7ff94bba --- /dev/null +++ b/curriculum/challenges/italian/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/61408e4ae3e35d08feb260eb.md @@ -0,0 +1,83 @@ +--- +id: 61408e4ae3e35d08feb260eb +title: Step 11 +challengeType: 0 +dashedName: step-11 +--- + +# --description-- + +Cambia il colore del font di `h1` a `#f1be32`, e imposta la dimensione del font a `min(5vw, 1.2em)`. + +# --hints-- + +Dovresti usare il selettore di elemento `h1`. + +```js +assert.exists(new __helpers.CSSHelp(document).getStyle('h1')); +``` + +Dovresti dare a `h1` un `color` di `#f1be32`. + +```js +assert.equal(new __helpers.CSSHelp(document).getStyle('h1')?.color, 'rgb(241, 190, 50)'); +``` + +Dovresti dare a `h1` un `font-size` di `min(5vw, 1.2em)`. + +```js +assert.equal(new __helpers.CSSHelp(document).getStyle('h1')?.fontSize, 'min(5vw, 1.2em)'); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + + Accessibility Quiz + + + +
+ +

HTML/CSS Quiz

+ +
+
+ + + +``` + +```css +body { + background: #f5f6f7; + color: #1b1b32; + font-family: Helvetica; + margin: 0; +} + +header { + width: 100%; + height: 50px; + background-color: #1b1b32; + display: flex; +} + +#logo { + width: max(100px, 18vw); + background-color: #0a0a23; + aspect-ratio: 35 / 4; + padding: 0.4rem; +} + +--fcc-editable-region-- + +--fcc-editable-region-- +``` diff --git a/curriculum/challenges/italian/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/61408f155e798909b6908712.md b/curriculum/challenges/italian/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/61408f155e798909b6908712.md new file mode 100644 index 0000000000..a761ba3628 --- /dev/null +++ b/curriculum/challenges/italian/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/61408f155e798909b6908712.md @@ -0,0 +1,112 @@ +--- +id: 61408f155e798909b6908712 +title: Step 12 +challengeType: 0 +dashedName: step-12 +--- + +# --description-- + +Per abilitare la navigazione sulla pagina, aggiungi un elenco puntato con i tre seguenti elementi: + +- `INFO` +- `HTML` +- `CSS` + +Il testo degli elementi della lista dovrebbe essere racchiuso in tag ancora. + +# --hints-- + +Dovresti annidare un elemento `ul` dentro `nav`. + +```js +assert.equal(document.querySelectorAll('nav > ul')?.length, 1); +``` + +Dovresti annidare tre elementi `li` dentro l'elemento `ul`. + +```js +assert.equal(document.querySelectorAll('nav > ul > li')?.length, 3); +``` + +Dovresti annidare un elemento `a` dentro ogni elemento `li`. + +```js +assert.equal(document.querySelectorAll('nav > ul > li > a')?.length, 3); +``` + +Dovresti dare al tuo primo elemento `a` il testo `INFO`. + +```js +assert.equal(document.querySelectorAll('nav > ul > li > a')?.[0]?.textContent, 'INFO'); +``` + +Dovresti dare al tuo secondo elemento `a` il testo `HTML`. + +```js +assert.equal(document.querySelectorAll('nav > ul > li > a')?.[1]?.textContent, 'HTML'); +``` + +Dovresti dare al tuo terzo elemento `a` un testo `CSS`. + +```js +assert.equal(document.querySelectorAll('nav > ul > li > a')?.[2]?.textContent, 'CSS'); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + + Accessibility Quiz + + + +
+ +

HTML/CSS Quiz

+--fcc-editable-region-- + +--fcc-editable-region-- +
+
+ + + +``` + +```css +body { + background: #f5f6f7; + color: #1b1b32; + font-family: Helvetica; + margin: 0; +} + +header { + width: 100%; + height: 50px; + background-color: #1b1b32; + display: flex; +} + +#logo { + width: max(100px, 18vw); + background-color: #0a0a23; + aspect-ratio: 35 / 4; + padding: 0.4rem; +} + +h1 { + color: #f1be32; + font-size: min(5vw, 1.2em); +} +``` diff --git a/curriculum/challenges/italian/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/61435e3c0679a306c20f1acc.md b/curriculum/challenges/italian/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/61435e3c0679a306c20f1acc.md new file mode 100644 index 0000000000..ff16094ab5 --- /dev/null +++ b/curriculum/challenges/italian/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/61435e3c0679a306c20f1acc.md @@ -0,0 +1,125 @@ +--- +id: 61435e3c0679a306c20f1acc +title: Step 18 +challengeType: 0 +dashedName: step-18 +--- + +# --description-- + +Per poter navigare dentro la pagina, dai ad ogni elemento ancora un `href` corrispondente all'`id` degli elementi `h2`. + +# --hints-- + +Dovresti dare al primo elemento `a` un `href` di `#student-info`. + +```js +assert.equal(document.querySelectorAll('a')?.[0]?.getAttribute('href'), '#student-info'); +``` + +Dovresti dare al tuo secondo elemento `a` un `href` di `#html-questions`. + +```js +assert.equal(document.querySelectorAll('a')?.[1]?.getAttribute('href'), '#html-questions'); +``` + +Dovresti dare al tuo terzo elemento `a` un `href` di `#css-questions`. + +```js +assert.equal(document.querySelectorAll('a')?.[2]?.getAttribute('href'), '#css-questions'); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + + Accessibility Quiz + + + +
+ +

HTML/CSS Quiz

+ +
+
+
+
+

Student Info

+
+
+

HTML

+
+
+

CSS

+
+
+
+ + + +``` + +```css +body { + background: #f5f6f7; + color: #1b1b32; + font-family: Helvetica; + margin: 0; +} + +header { + width: 100%; + height: 50px; + background-color: #1b1b32; + display: flex; +} + +#logo { + width: max(100px, 18vw); + background-color: #0a0a23; + aspect-ratio: 35 / 4; + padding: 0.4rem; +} + +h1 { + color: #f1be32; + font-size: min(5vw, 1.2em); +} + +nav { + width: 50%; + max-width: 300px; + height: 50px; +} + +nav > ul { + display: flex; + justify-content: space-evenly; +} + +h1, +h2 { + font-family: Verdana, Tahoma; +} + +h2 { + border-bottom: 4px solid #dfdfe2; +} + +``` diff --git a/curriculum/challenges/italian/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/61487b77d4a37707073a64e5.md b/curriculum/challenges/italian/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/61487b77d4a37707073a64e5.md new file mode 100644 index 0000000000..aa61cc66d2 --- /dev/null +++ b/curriculum/challenges/italian/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/61487b77d4a37707073a64e5.md @@ -0,0 +1,261 @@ +--- +id: 61487b77d4a37707073a64e5 +title: Step 48 +challengeType: 0 +dashedName: step-48 +--- + +# --description-- + +Quando la larghezza dello schermo è piccola, l'elemento `h1` non si mette su più righe come dovrebbe. Allinea al centro il testo di `h1`. + +Poi, dai a `main` un padding che renda completamente visibile l'intestazione di sezione `Student Info`. + +# --hints-- + +Dovresti dare ad `h1` un `text-align` di `center`. + +```js +assert.equal(new __helpers.CSSHelp(document).getStyle('h1')?.textAlign, 'center'); +``` + +Dovresti aggiungere un selettore `main` per selezionare l'elemento `main`. + +```js +assert.exists(new __helpers.CSSHelp(document).getStyle('main')); +``` + +Dovresti dare a `main` un `padding-top` di almeno `25px`. + +```js +assert.isAtLeast(Number(new __helpers.CSSHelp(document).getStyle('main')?.paddingTop?.replace(/\D+/, '')), 25); +``` + +Dovresti cambiare solo il valore di `padding-top`. + +```js +assert.isEmpty(new __helpers.CSSHelp(document).getStyle('main')?.paddingBottom); +assert.isEmpty(new __helpers.CSSHelp(document).getStyle('main')?.paddingLeft); +assert.isEmpty(new __helpers.CSSHelp(document).getStyle('main')?.paddingRight); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + + Accessibility Quiz + + + +
+ +

HTML/CSS Quiz

+ +
+
+
+
+

Student Info

+
+ + +
+
+ + +
+
+ + +
+
+
+

HTML

+
+

1

+
+ + The legend element represents a caption for the content of its + parent fieldset element + +
    +
  • + +
  • +
  • + +
  • +
+
+
+
+

2

+
+ + A label element nesting an input element is required to have a + for attribute with the same value as the input's id + +
    +
  • + +
  • +
  • + +
  • +
+
+
+
+
+

CSS

+
+
+ +
+
+ +
+
+ +
+
+ +
+
+
+ +
+
+ + + + +``` + +```css +body { + background: #f5f6f7; + color: #1b1b32; + font-family: Helvetica; + margin: 0; +} + +header { + width: 100%; + height: 50px; + background-color: #1b1b32; + display: flex; + justify-content: space-between; + align-items: center; + position: fixed; + top: 0; +} + +#logo { + width: max(100px, 18vw); + background-color: #0a0a23; + aspect-ratio: 35 / 4; + padding: 0.4rem; +} + +--fcc-editable-region-- +h1 { + color: #f1be32; + font-size: min(5vw, 1.2em); + +} + + +--fcc-editable-region-- + +nav { + width: 50%; + max-width: 300px; + height: 50px; +} + +nav > ul { + display: flex; + justify-content: space-evenly; +} + +nav > ul > li { + color: #dfdfe2; + margin: 0 0.2rem; + padding: 0.2rem; + display: block; +} + +nav > ul > li:hover { + background-color: #dfdfe2; + color: #1b1b32; + cursor: pointer; +} + +li > a { + color: inherit; + text-decoration: none; +} + +h1, +h2 { + font-family: Verdana, Tahoma; +} + +h2 { + border-bottom: 4px solid #dfdfe2; +} + +p::before { + content: "Question #"; +} + +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border: 0; +} + +``` diff --git a/curriculum/challenges/italian/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/61487da611a65307e78d2c20.md b/curriculum/challenges/italian/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/61487da611a65307e78d2c20.md new file mode 100644 index 0000000000..35c4cdb6e0 --- /dev/null +++ b/curriculum/challenges/italian/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/61487da611a65307e78d2c20.md @@ -0,0 +1,275 @@ +--- +id: 61487da611a65307e78d2c20 +title: Step 49 +challengeType: 0 +dashedName: step-49 +--- + +# --description-- + +Su schermi piccoli, l'elenco puntato nella barra di navigazione va oltre il lato destro dello schermo. + +Sistemalo usando _Flexbox_ per portare su più righe il contenuto di `ul`. Poi, imposta le seguenti proprietà CSS per allineare correttamente il testo: + +```css +align-items: center; +padding-inline-start: 0; +margin-block: 0; +height: 100%; +``` + +# --hints-- + +Dovresti dare a `ul` un `flex-wrap` di `wrap`. + +```js +assert.equal(new __helpers.CSSHelp(document).getStyle('nav > ul')?.flexWrap, 'wrap'); +``` + +Dovresti dare a `ul` un `align-items` di `center`. + +```js +assert.equal(new __helpers.CSSHelp(document).getStyle('nav > ul')?.alignItems, 'center'); +``` + +Dovresti dare a `ul` un `padding-inline-start` di `0`. + +```js +assert.equal(new __helpers.CSSHelp(document).getStyle('nav > ul')?.paddingInlineStart, '0px'); +``` + +Dovresti dare a `ul` un `margin-block` di `0`. + +```js +assert.equal(new __helpers.CSSHelp(document).getStyle('nav > ul')?.marginBlock, '0px'); +``` + +Dovresti dare a `ul` un `height` di `100%`. + +```js +assert.equal(new __helpers.CSSHelp(document).getStyle('nav > ul')?.height, '100%'); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + + Accessibility Quiz + + + +
+ +

HTML/CSS Quiz

+ +
+
+
+
+

Student Info

+
+ + +
+
+ + +
+
+ + +
+
+
+

HTML

+
+

1

+
+ + The legend element represents a caption for the content of its + parent fieldset element + +
    +
  • + +
  • +
  • + +
  • +
+
+
+
+

2

+
+ + A label element nesting an input element is required to have a + for attribute with the same value as the input's id + +
    +
  • + +
  • +
  • + +
  • +
+
+
+
+
+

CSS

+
+
+ +
+
+ +
+
+ +
+
+ +
+
+
+ +
+
+ + + + +``` + +```css +body { + background: #f5f6f7; + color: #1b1b32; + font-family: Helvetica; + margin: 0; +} + +header { + width: 100%; + height: 50px; + background-color: #1b1b32; + display: flex; + justify-content: space-between; + align-items: center; + position: fixed; + top: 0; +} + +#logo { + width: max(100px, 18vw); + background-color: #0a0a23; + aspect-ratio: 35 / 4; + padding: 0.4rem; +} + +h1 { + color: #f1be32; + font-size: min(5vw, 1.2em); + text-align: center; +} + +nav { + width: 50%; + max-width: 300px; + height: 50px; +} + +--fcc-editable-region-- +nav > ul { + display: flex; + justify-content: space-evenly; + +} +--fcc-editable-region-- + +nav > ul > li { + color: #dfdfe2; + margin: 0 0.2rem; + padding: 0.2rem; + display: block; +} + +nav > ul > li:hover { + background-color: #dfdfe2; + color: #1b1b32; + cursor: pointer; +} + +li > a { + color: inherit; + text-decoration: none; +} + +main { + padding-top: 50px; +} + +h1, +h2 { + font-family: Verdana, Tahoma; +} + +h2 { + border-bottom: 4px solid #dfdfe2; +} + +p::before { + content: "Question #"; +} + +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border: 0; +} + +``` diff --git a/curriculum/challenges/italian/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/614ccc21ea91ef1736b9b578.md b/curriculum/challenges/italian/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/614ccc21ea91ef1736b9b578.md new file mode 100644 index 0000000000..8d7c25f124 --- /dev/null +++ b/curriculum/challenges/italian/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/614ccc21ea91ef1736b9b578.md @@ -0,0 +1,50 @@ +--- +id: 614ccc21ea91ef1736b9b578 +title: Step 1 +challengeType: 0 +dashedName: step-1 +--- + +# --description-- + +Benvenuto alla prima parte del Quiz sull'Accessibilità. Adesso che stai diventando uno sviluppatore esperto di HTML e CSS, abbiamo già scritto il boilerplate base. + +Inizia questo viaggio nell'accessibilità fornendo un attributo `lang` al tuo elemento `html`. Questo aiuterà i lettori di schermo a identificare la lingua della pagina. + +# --hints-- + +Dovresti dare all'elemento `html` un attributo `lang`. _Suggerimento: Puoi usare il valore `en` per l'inglese._ + +```js +assert.match(code, //i); +// TODO: This should/could be fixed in the builder.js +// assert.notThrow(Intl.getCanonicalLocales(document.querySelector('html').lang)); +``` + +# --seed-- + +## --seed-contents-- + +```html + +--fcc-editable-region-- + + + + + + + + +--fcc-editable-region-- + +``` + +```css +body { + background: #f5f6f7; + color: #1b1b32; + font-family: Helvetica; + margin: 0; +} +``` diff --git a/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/613297a923965e0703b64796.md b/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/613297a923965e0703b64796.md index 61fdc659b3..e5010479ca 100644 --- a/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/613297a923965e0703b64796.md +++ b/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/613297a923965e0703b64796.md @@ -1,6 +1,6 @@ --- id: 613297a923965e0703b64796 -title: Etapa 2 +title: Passo 2 challengeType: 0 dashedName: step-2 --- diff --git a/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/61329b210dac0b08047fd6ab.md b/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/61329b210dac0b08047fd6ab.md index 7ed19a582a..3854c712a2 100644 --- a/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/61329b210dac0b08047fd6ab.md +++ b/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/61329b210dac0b08047fd6ab.md @@ -1,6 +1,6 @@ --- id: 61329b210dac0b08047fd6ab -title: Etapa 3 +title: Passo 3 challengeType: 0 dashedName: step-3 --- diff --git a/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/61329d52e5010e08d9b9d66b.md b/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/61329d52e5010e08d9b9d66b.md index 11c83a9c29..6cee7ea90d 100644 --- a/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/61329d52e5010e08d9b9d66b.md +++ b/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/61329d52e5010e08d9b9d66b.md @@ -1,6 +1,6 @@ --- id: 61329d52e5010e08d9b9d66b -title: Etapa 4 +title: Passo 4 challengeType: 0 dashedName: step-4 --- diff --git a/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6133acc353338c0bba9cb553.md b/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6133acc353338c0bba9cb553.md index b2121f0bbe..d22d9ff913 100644 --- a/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6133acc353338c0bba9cb553.md +++ b/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6133acc353338c0bba9cb553.md @@ -1,6 +1,6 @@ --- id: 6133acc353338c0bba9cb553 -title: Etapa 5 +title: Passo 5 challengeType: 0 dashedName: step-5 --- diff --git a/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6133d11ef548f51f876149e3.md b/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6133d11ef548f51f876149e3.md new file mode 100644 index 0000000000..3b5d73c778 --- /dev/null +++ b/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6133d11ef548f51f876149e3.md @@ -0,0 +1,68 @@ +--- +id: 6133d11ef548f51f876149e3 +title: Passo 6 +challengeType: 0 +dashedName: step-6 +--- + +# --description-- + +A navegação é uma parte fundamental da acessibilidade. Os leitores de tela dependem de você para fornecer a estrutura de sua página. Isso é feito com elementos HTML semânticos. + +Adicione um elemento `header` e um elemento `main` à sua página. + +O elemento `header` será usado para introduzir a página, bem como fornecer um menu de navegação. + +O elemento `main` contém o conteúdo principal de sua página. + +# --hints-- + +Você deve adicionar um elemento `header` ao `body`. + +```js +assert.exists(document.querySelector('body > header')); +``` + +Você deve adicionar um novo elemento `main` ao `body`. + +```js +assert.exists(document.querySelector('body > main')); +``` + +O elemento `header` deve vir antes do elemento `main`. + +```js +assert.exists(document.querySelector('header + main')); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + + Accessibility Quiz + + +--fcc-editable-region-- + + + +--fcc-editable-region-- + + +``` + +```css +body { + background: #f5f6f7; + color: #1b1b32; + font-family: Helvetica; + margin: 0; +} +``` diff --git a/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/613e2546d0594208229ada50.md b/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/613e2546d0594208229ada50.md new file mode 100644 index 0000000000..7bbf2f95e8 --- /dev/null +++ b/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/613e2546d0594208229ada50.md @@ -0,0 +1,93 @@ +--- +id: 613e2546d0594208229ada50 +title: Passo 7 +challengeType: 0 +dashedName: step-7 +--- + +# --description-- + +No `header`, forneça um contexto sobre a página, aninhando um elemento `img`, um `h1` e um `nav`. + +A `img` deve apontar para `https://cdn.freecodecamp.org/platform/universal/fcc_primary.svg` e ter no `id` o valor `logo`. + +O `h1` deve conter o texto `HTML/CSS Quiz`. + +# --hints-- + +Você deve adicionar um elemento `img` ao elemento `header`. + +```js +assert.exists(document.querySelector('header > img')); +``` + +Você deve adicionar um elemento `h1` ao elemento `header`. + +```js +assert.exists(document.querySelector('header > h1')); +``` + +Você deve adicionar um elemento `nav` ao elemento `header`. + +```js +assert.exists(document.querySelector('header > nav')); +``` + +Você deve colocar os elementos `img`, `h1` e `nav` nessa ordem. + +```js +assert.exists(document.querySelector('img + h1 + nav')); +``` + +Você deve dar ao elemento `img` um atributo `src` equivalente a `https://cdn.freecodecamp.org/platform/universal/fcc_primary.svg`. + +```js +assert.equal(document.querySelector('img')?.src, 'https://cdn.freecodecamp.org/platform/universal/fcc_primary.svg'); +``` + +Você deve dar ao elemento `img` um atributo `id` equivalente a `logo`. + +```js +assert.equal(document.querySelector('img')?.id, 'logo'); +``` + +Você deve atribuir ao elemento `h1` o texto `HTML/CSS Quiz`. + +```js +assert.include(document.querySelector('h1')?.innerText?.toLowerCase(), 'html/css quiz'); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + + Accessibility Quiz + + + +--fcc-editable-region-- +
+ +
+--fcc-editable-region-- +
+ + + +``` + +```css +body { + background: #f5f6f7; + color: #1b1b32; + font-family: Helvetica; + margin: 0; +} +``` diff --git a/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/614ccc21ea91ef1736b9b578.md b/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/614ccc21ea91ef1736b9b578.md index 934f625280..903aa5543b 100644 --- a/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/614ccc21ea91ef1736b9b578.md +++ b/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/614ccc21ea91ef1736b9b578.md @@ -1,6 +1,6 @@ --- id: 614ccc21ea91ef1736b9b578 -title: Etapa 1 +title: Passo 1 challengeType: 0 dashedName: step-1 --- diff --git a/curriculum/challenges/ukrainian/01-responsive-web-design/applied-visual-design/set-the-font-size-for-multiple-heading-elements.md b/curriculum/challenges/ukrainian/01-responsive-web-design/applied-visual-design/set-the-font-size-for-multiple-heading-elements.md index 4396541573..6040d1fecb 100644 --- a/curriculum/challenges/ukrainian/01-responsive-web-design/applied-visual-design/set-the-font-size-for-multiple-heading-elements.md +++ b/curriculum/challenges/ukrainian/01-responsive-web-design/applied-visual-design/set-the-font-size-for-multiple-heading-elements.md @@ -11,7 +11,9 @@ dashedName: set-the-font-size-for-multiple-heading-elements Властивість `font-size` використовується для визначення розміру тексту в заданому елементі. Це правило можна застосовувати для кількох елементів, щоб створити візуальну узгодженість тексту на сторінці. У цьому завданні ви встановите значення для всіх `h1` по `h6` тегів, щоб вирівняти розмір заголовків. -# --instructions--

У тегах style, встановіть font-size у:

+# --instructions-- + +

У тегах style, встановіть font-size у: