undefined はキーワードであって、文字列ではないことに注意してください。
# --hints--
diff --git a/curriculum/challenges/japanese/02-javascript-algorithms-and-data-structures/basic-javascript/returning-boolean-values-from-functions.md b/curriculum/challenges/japanese/02-javascript-algorithms-and-data-structures/basic-javascript/returning-boolean-values-from-functions.md
index 1961afbd062..c026e93ff1e 100644
--- a/curriculum/challenges/japanese/02-javascript-algorithms-and-data-structures/basic-javascript/returning-boolean-values-from-functions.md
+++ b/curriculum/challenges/japanese/02-javascript-algorithms-and-data-structures/basic-javascript/returning-boolean-values-from-functions.md
@@ -9,7 +9,7 @@ dashedName: returning-boolean-values-from-functions
# --description--
-[等価演算子による比較](/learn/javascript-algorithms-and-data-structures/basic-javascript/comparison-with-the-equality-operator)で説明しましたが、比較演算子はすべて、ブール値の `true` または `false` を返します。
+「等価演算子による比較」で説明した通り、比較演算子はすべて、ブール値の `true` または `false` を返します。
次のように `if/else` ステートメントを使用して比較を行うこともできます。
diff --git a/curriculum/challenges/japanese/02-javascript-algorithms-and-data-structures/basic-javascript/use-recursion-to-create-a-countdown.md b/curriculum/challenges/japanese/02-javascript-algorithms-and-data-structures/basic-javascript/use-recursion-to-create-a-countdown.md
index 3f032a3c27e..f7abea95c34 100644
--- a/curriculum/challenges/japanese/02-javascript-algorithms-and-data-structures/basic-javascript/use-recursion-to-create-a-countdown.md
+++ b/curriculum/challenges/japanese/02-javascript-algorithms-and-data-structures/basic-javascript/use-recursion-to-create-a-countdown.md
@@ -8,7 +8,7 @@ dashedName: use-recursion-to-create-a-countdown
# --description--
-[以前のチャレンジ](/learn/javascript-algorithms-and-data-structures/basic-javascript/replace-loops-using-recursion)で、再帰関数を利用して `for` ループを置き換える方法について学びました。 今回はもっと複雑な例として、`1` から関数に渡された数値までの連続した整数の配列を返す関数を考えてみましょう。
+以前のチャレンジで、再帰関数を利用して `for` ループを置き換える方法について学びました。 今回はもっと複雑な例として、`1` から関数に渡された数値までの連続した整数の配列を返す関数を考えてみましょう。
以前のチャレンジで触れたように、基準ケースを記述します。 基準ケースは、再帰をいつ止めるかを再帰関数に指示します。 これは戻り値があらかじめわかっている単純なケースです。 別の引数を付けて元の関数を実行する再帰呼び出しもあります。 関数が適切に記述されていれば、最終的には基準ケースに到達します。
diff --git a/curriculum/challenges/japanese/02-javascript-algorithms-and-data-structures/es6/compare-scopes-of-the-var-and-let-keywords.md b/curriculum/challenges/japanese/02-javascript-algorithms-and-data-structures/es6/compare-scopes-of-the-var-and-let-keywords.md
index 7f2b4000984..a5b3e6b3313 100644
--- a/curriculum/challenges/japanese/02-javascript-algorithms-and-data-structures/es6/compare-scopes-of-the-var-and-let-keywords.md
+++ b/curriculum/challenges/japanese/02-javascript-algorithms-and-data-structures/es6/compare-scopes-of-the-var-and-let-keywords.md
@@ -8,7 +8,7 @@ dashedName: compare-scopes-of-the-var-and-let-keywords
# --description--
-`let` に慣れていない方は、[こちらのチャレンジ](/learn/javascript-algorithms-and-data-structures/basic-javascript/explore-differences-between-the-var-and-let-keywords)をご覧ください。
+`let` に慣れていない方は、let と var の違いに関するこちらのチャレンジをご覧ください。
`var` キーワードを付けて変数を宣言すると、グローバルに宣言されるか、または関数内で宣言された場合はローカルに宣言されます。
diff --git a/curriculum/challenges/japanese/02-javascript-algorithms-and-data-structures/es6/mutate-an-array-declared-with-const.md b/curriculum/challenges/japanese/02-javascript-algorithms-and-data-structures/es6/mutate-an-array-declared-with-const.md
index 7acc5a65400..38af156fbfe 100644
--- a/curriculum/challenges/japanese/02-javascript-algorithms-and-data-structures/es6/mutate-an-array-declared-with-const.md
+++ b/curriculum/challenges/japanese/02-javascript-algorithms-and-data-structures/es6/mutate-an-array-declared-with-const.md
@@ -8,7 +8,7 @@ dashedName: mutate-an-array-declared-with-const
# --description--
-`const` に慣れていない方は、[こちらのチャレンジ](/learn/javascript-algorithms-and-data-structures/basic-javascript/declare-a-read-only-variable-with-the-const-keyword)をご覧ください。
+`const` に慣れていない方は、const キーワードに関するこちらのチャレンジをご覧ください。
`const` 宣言は、現在の JavaScript では多くの用法があります。
diff --git a/curriculum/challenges/japanese/02-javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/dna-pairing.md b/curriculum/challenges/japanese/02-javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/dna-pairing.md
index b96a0fc11e6..edac6fed3ec 100644
--- a/curriculum/challenges/japanese/02-javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/dna-pairing.md
+++ b/curriculum/challenges/japanese/02-javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/dna-pairing.md
@@ -8,7 +8,7 @@ dashedName: dna-pairing
# --description--
-DNA 2 本鎖はタンパク質の塩基対で構成されます。 塩基対は AT および CG という文字で表され、DNA 2 重らせんの基本構成要素を形成します。
+DNA 2 本鎖は核酸塩基対で構成されます。 塩基対は AT および CG という文字で表され、DNA 2 重らせんの基本構成要素を形成します。
DNA 鎖の対を成す要素が欠落しています。 与えられた DNA 鎖の欠落している塩基対を対応させる関数を記述してください。 与えられた文字列の各文字について、塩基対の文字を見つけ出してください。 結果は 2 次元配列で返してください。
diff --git a/curriculum/challenges/japanese/03-front-end-development-libraries/jquery/change-text-inside-an-element-using-jquery.md b/curriculum/challenges/japanese/03-front-end-development-libraries/jquery/change-text-inside-an-element-using-jquery.md
index 8d466179b25..cebe583bb76 100644
--- a/curriculum/challenges/japanese/03-front-end-development-libraries/jquery/change-text-inside-an-element-using-jquery.md
+++ b/curriculum/challenges/japanese/03-front-end-development-libraries/jquery/change-text-inside-an-element-using-jquery.md
@@ -22,7 +22,7 @@ jQuery には `.text()` という同様の関数もあります。この関数
id が `target4` のボタンを変更して、テキストを強調表示してください。
-`` と `` の違いとそれらの用例については、[<em> についてのニュース記事](https://www.freecodecamp.org/news/html-elements-explained-what-are-html-tags/#em-element)を参照してください。
+`` と `` の違いと用例については、freeCodeCamp ニュースブログの <em> に関する記事を参照してください。
`` タグは従来からテキストの強調に使用されていますが、最近ではアイコンのタグとして採用されています。 `` タグは現在、強調用のタグとして広く使用されています。 このチャレンジではどちらも正しく機能します。
diff --git a/curriculum/challenges/japanese/03-front-end-development-libraries/react/introducing-inline-styles.md b/curriculum/challenges/japanese/03-front-end-development-libraries/react/introducing-inline-styles.md
index 2d3b109200a..96ce6198443 100644
--- a/curriculum/challenges/japanese/03-front-end-development-libraries/react/introducing-inline-styles.md
+++ b/curriculum/challenges/japanese/03-front-end-development-libraries/react/introducing-inline-styles.md
@@ -8,7 +8,7 @@ dashedName: introducing-inline-styles
# --description--
-他にも、React のコードに強力な機能を追加する複雑な概念があります。 しかし、もっと単純な問題として、React で作成した JSX 要素のスタイルをどのように設定するのでしょうか? [JSX 要素にクラスを適用する方法](/learn/front-end-development-libraries/react/define-an-html-class-in-jsx)があるので、HTML の場合とまったく同じではないことは理解していると思います。
+他にも、React のコードに強力な機能を追加する複雑な概念があります。 しかし、もっと単純な問題として、React で作成した JSX 要素のスタイルをどのように設定するのでしょうか? JSX 要素にクラスを適用する方法を思い出すと、HTML の場合とまったく同じではないことが予想できるかと思います。
スタイルシートからスタイルをインポートする場合は、それほど違いはありません。 `className` 属性を使用して JSX 要素にクラスを適用し、スタイルシートでクラスにスタイルを適用します。 もう一つの方法として、ReactJS の開発でごく一般的なインラインスタイルの適用があります。
diff --git a/curriculum/challenges/japanese/03-front-end-development-libraries/react/use-proptypes-to-define-the-props-you-expect.md b/curriculum/challenges/japanese/03-front-end-development-libraries/react/use-proptypes-to-define-the-props-you-expect.md
index 41a225acb58..73fbed9115b 100644
--- a/curriculum/challenges/japanese/03-front-end-development-libraries/react/use-proptypes-to-define-the-props-you-expect.md
+++ b/curriculum/challenges/japanese/03-front-end-development-libraries/react/use-proptypes-to-define-the-props-you-expect.md
@@ -16,7 +16,7 @@ prop の型が事前にわかっている場合は `propTypes` を設定する
MyComponent.propTypes = { handleClick: PropTypes.func.isRequired }
```
-この例では、`PropTypes.func` の部分で `handleClick` が関数かどうかをチェックします。 `isRequired` を追加することで、`handleClick` がそのコンポーネントに必要なプロパティであることを React に伝えます。 その prop が指定されていない場合は警告が表示されます。 また、`func` は `function` を表します。 JavaScript の 7 つのプリミティブ型の中で、`function` と `boolean` (`bool` と記述) の 2 つだけは通常と異なるスペルを使用します。 プリミティブ型に加えて、他にも利用可能な型があります。 たとえば、prop が React の要素かどうかをチェックできます。 オプションの一覧については、[ドキュメント](https://reactjs.org/docs/typechecking-with-proptypes.html#proptypes)を参照してください。
+この例では、`PropTypes.func` の部分で `handleClick` が関数かどうかをチェックします。 `isRequired` を追加することで、`handleClick` がそのコンポーネントに必要なプロパティであることを React に伝えます。 その prop が指定されていない場合は警告が表示されます。 また、`func` は `function` を表します。 JavaScript の 7 つのプリミティブ型の中で、`function` と `boolean` (`bool` と記述) の 2 つだけは通常と異なるスペルを使用します。 プリミティブ型に加えて、他にも利用可能な型があります。 たとえば、prop が React の要素かどうかをチェックできます。 オプションの一覧については ドキュメントを参照してください。
**注:** React v15.5.0 では `PropTypes` は React とは独立してインポートされます (例: `import PropTypes from 'prop-types';`)。
diff --git a/curriculum/challenges/japanese/03-front-end-development-libraries/redux/create-a-redux-store.md b/curriculum/challenges/japanese/03-front-end-development-libraries/redux/create-a-redux-store.md
index 2f3ba1eba5b..ec0704a0676 100644
--- a/curriculum/challenges/japanese/03-front-end-development-libraries/redux/create-a-redux-store.md
+++ b/curriculum/challenges/japanese/03-front-end-development-libraries/redux/create-a-redux-store.md
@@ -20,7 +20,7 @@ Redux の `store` は、アプリケーションの `state` を保持して管
`store` 変数を宣言し、それを `createStore()` メソッドに割り当て、引数として `reducer` を渡してください。
-**注:** エディターのコードでは、ES6 のデフォルト引数の構文を使用して、`5` という値を保持するようにこの state を初期化しています。 デフォルト引数に慣れていない場合は、このトピックについて説明している[カリキュラムの ES6 セクション](https://learn.freecodecamp.org/javascript-algorithms-and-data-structures/es6/set-default-parameters-for-your-functions)を参照してください。
+**注:** エディターのコードでは、ES6 のデフォルト引数の構文を使用して、`5` という値を保持するようにこの state を初期化しています。 デフォルト引数に慣れていない場合は、このトピックについて説明しているカリキュラムの ES6 セクションを参照してください。
# --hints--
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript/counting-cards.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript/counting-cards.md
index 2d5acc09c49..8f41060149e 100644
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript/counting-cards.md
+++ b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript/counting-cards.md
@@ -25,7 +25,41 @@ Não inclua aspas (simples ou duplas) na saída.
# --hints--
-Sequência de cartas 2, 3, 4, 5, 6 deve retornar a string `5 Bet`
+A função deve retornar um valor para a contagem e o texto (`Bet` ou `Hold`) com um caractere de espaço entre eles.
+
+```js
+assert(//
+ (function () {
+ count = 0;
+ cc(2);
+ cc(2);
+ let out = cc(10);
+ const hasSpace = /-?\d+ Bet/.test('' + out);
+ return hasSpace;
+ })()
+);
+```
+
+A sequência de cartas 3, 2, A, 10, K deve retornar a string `-1 Hold`
+
+```js
+assert(
+ (function () {
+ count = 0;
+ cc(3);
+ cc(2);
+ cc('A');
+ cc(10);
+ var out = cc('K');
+ if (out === '-1 Hold') {
+ return true;
+ }
+ return false;
+ })()
+);
+```
+
+A sequência de cartas 2, 3, 4, 5, 6 deve retornar a string `5 Bet`
```js
assert(
@@ -44,7 +78,7 @@ assert(
);
```
-Sequência de cartas 7, 8, 9 deve retornar a string `0 Hold`
+A sequência de cartas 7, 8, 9 deve retornar a string `0 Hold`
```js
assert(
@@ -61,7 +95,7 @@ assert(
);
```
-Sequência de cartas 10, J, Q, K, A deve retornar a string `-5 Hold`
+A sequência de cartas 10, J, Q, K, A deve retornar a string `-5 Hold`
```js
assert(
@@ -80,7 +114,7 @@ assert(
);
```
-Sequência de cartas 3, 7, Q, 8, A deve retornar a string `-1 Hold`
+A sequência de cartas 3, 7, Q, 8, A deve retornar a string `-1 Hold`
```js
assert(
@@ -99,7 +133,7 @@ assert(
);
```
-Sequência de cartas 2, J, 9, 2, 7 deve retornar a string `1 Bet`
+A sequência de cartas 2, J, 9, 2, 7 deve retornar a string `1 Bet`
```js
assert(
@@ -118,7 +152,7 @@ assert(
);
```
-Sequência de cartas 2, 2, 10 deve retornar a string `1 Bet`
+A sequência de cartas 2, 2, 10 deve retornar a string `1 Bet`
```js
assert(
@@ -135,7 +169,7 @@ assert(
);
```
-Sequência de cartas 3, 2, A, 10, K deve retornar a string `-1 Hold`
+A sequência de cartas 3, 2, A, 10, K deve retornar a string `-1 Hold`
```js
assert(
diff --git a/curriculum/challenges/ukrainian/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/613297a923965e0703b64796.md b/curriculum/challenges/ukrainian/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/613297a923965e0703b64796.md
new file mode 100644
index 00000000000..2125794c86e
--- /dev/null
+++ b/curriculum/challenges/ukrainian/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/613297a923965e0703b64796.md
@@ -0,0 +1,56 @@
+---
+id: 613297a923965e0703b64796
+title: Крок 2
+challengeType: 0
+dashedName: step-2
+---
+
+# --description--
+
+Можливо, ви вже знайомі з елементом `meta`: його використовують для визначення інформації про сторінку, такої як заголовок, опис, ключові слова та автор.
+
+Надайте своїй сторінці елемент `meta` з відповідним значенням `charset`.
+
+Атрибут `charset` визначає кодування символів сторінки і сьогодні `UTF-8` є єдиним кодуванням, яке підтримується більшістю браузерів.
+
+# --hints--
+
+Ви повинні створити елемент `meta` в межах елемента `head`.
+
+```js
+assert.exists(document.querySelector('head > meta'));
+```
+
+Для теґу `meta` надайте `charset` зі значенням `UTF-8`.
+
+```js
+assert.equal(document.querySelector('head > meta')?.getAttribute('charset')?.toLowerCase(), 'utf-8');
+```
+
+# --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/ukrainian/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/61329b210dac0b08047fd6ab.md b/curriculum/challenges/ukrainian/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/61329b210dac0b08047fd6ab.md
new file mode 100644
index 00000000000..2ecd7083ddb
--- /dev/null
+++ b/curriculum/challenges/ukrainian/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/61329b210dac0b08047fd6ab.md
@@ -0,0 +1,61 @@
+---
+id: 61329b210dac0b08047fd6ab
+title: Крок 3
+challengeType: 0
+dashedName: step-3
+---
+
+# --description--
+
+Продовжуючи з елементами `meta`: здатність `viewport` розповідає браузеру, як зобразити сторінку. Це одна з речей, що покращує візуальну доступність на мобільних пристроях та удосконалює _SEO_ (пошукову оптимізацію сайту).
+
+Додайте здатність `viewport` з атрибутом `content`, деталізуючи `width` та `initial-scale` сторінки.
+
+# --hints--
+
+Ви повинні створити інший елемент `meta` в `head`.
+
+```js
+assert.equal(document.querySelectorAll('head > meta')?.length, 2);
+```
+
+Для `meta` надайте атрибут `name` зі значенням `viewport`.
+
+```js
+assert.equal(document.querySelectorAll('head > meta[name="viewport"]')?.length, 1);
+```
+
+Для `meta` надайте атрибут `content` зі значенням `width=device-width, initial-scale=1`.
+
+```js
+assert.equal(document.querySelectorAll('head > meta[content="width=device-width, initial-scale=1.0"]')?.length || document.querySelectorAll('head > meta[content="width=device-width, initial-scale=1"]')?.length, 1);
+```
+
+# --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/ukrainian/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/61329d52e5010e08d9b9d66b.md b/curriculum/challenges/ukrainian/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/61329d52e5010e08d9b9d66b.md
new file mode 100644
index 00000000000..ca9b01b36b8
--- /dev/null
+++ b/curriculum/challenges/ukrainian/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/61329d52e5010e08d9b9d66b.md
@@ -0,0 +1,68 @@
+---
+id: 61329d52e5010e08d9b9d66b
+title: Крок 4
+challengeType: 0
+dashedName: step-4
+---
+
+# --description--
+
+Інший важливий елемент `meta` для доступності та SEO – це визначення `description`. Значення атрибуту `content` використовується пошуковими системами для надання опису вашої сторінки.
+
+Додайте елемент `meta` з атрибутом `name`, встановленим на `description`, та надайте йому придатний атрибут `content`.
+
+# --hints--
+
+Додайте новий елемент `meta` до `head`.
+
+```js
+assert.equal(document.querySelectorAll('meta').length, 3);
+```
+
+Для `meta` надайте атрибут `name` зі значенням `description`.
+
+```js
+assert.exists(document.querySelector('meta[name="description"]'));
+```
+
+Для `meta` надайте атрибут `content`.
+
+```js
+assert.notEmpty(document.querySelector('meta[name="description"]')?.content);
+```
+
+Значення атрибуту `content` не повинне перевищувати 165 символів. _Це максимальна довжина опису 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/ukrainian/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6133acc353338c0bba9cb553.md b/curriculum/challenges/ukrainian/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6133acc353338c0bba9cb553.md
new file mode 100644
index 00000000000..140531b5579
--- /dev/null
+++ b/curriculum/challenges/ukrainian/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6133acc353338c0bba9cb553.md
@@ -0,0 +1,63 @@
+---
+id: 6133acc353338c0bba9cb553
+title: Крок 5
+challengeType: 0
+dashedName: step-5
+---
+
+# --description--
+
+Останній елемент `title` в `head` корисний для читачів екрану, щоб зрозуміти вміст сторінки. Крім того, це важлива частина _SEO_.
+
+Надайте вашій сторінці описовий та чіткий `title`.
+
+# --hints--
+
+Ви повинні додати елемент `title` до `head`.
+
+```js
+assert.exists(document.querySelector('head > title'));
+```
+
+Не створюйте `title` більшим за 60 символів.
+
+```js
+assert.isAtMost(document.querySelector('head > title')?.textContent?.length, 60);
+```
+
+Намагайтесь зробити ваш елемент `title` більш описовим. _Підказка: принаймні 15 символів_
+
+```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/ukrainian/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6133d11ef548f51f876149e3.md b/curriculum/challenges/ukrainian/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6133d11ef548f51f876149e3.md
new file mode 100644
index 00000000000..bb2d6ae274f
--- /dev/null
+++ b/curriculum/challenges/ukrainian/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6133d11ef548f51f876149e3.md
@@ -0,0 +1,68 @@
+---
+id: 6133d11ef548f51f876149e3
+title: Крок 6
+challengeType: 0
+dashedName: step-6
+---
+
+# --description--
+
+Навігація – основна частина доступності і читачі екрану покладаються на вас для забезпечення структури сторінки. Цього можна досягти за допомогою семантичних елементів HTML.
+
+Додайте елементи `header` та `main` до своєї сторінки.
+
+Елемент `header` буде використаний для представлення сторінки, а також для надання навігаційного меню.
+
+Елемент `main` буде містити основний вміст сторінки.
+
+# --hints--
+
+Ви повинні додати елемент `header` до `body`.
+
+```js
+assert.exists(document.querySelector('body > header'));
+```
+
+Ви повинні додати елемент `main` до `body`.
+
+```js
+assert.exists(document.querySelector('body > main'));
+```
+
+Елемент `header` повинен бути перед елементом `main`.
+
+```js
+assert.exists(document.querySelector('header + main'));
+```
+
+# --seed--
+
+## --seed-contents--
+
+```html
+
+
+
+
+
+
+