---
id: 5dc2385ff86c76b9248c6eb7
title: ステップ 5
challengeType: 0
dashedName: step-5
---

# --description--

HTML5 には、さまざまなコンテンツの領域を表す要素があります。 これらの要素によって HTML が読みやすくなり、検索エンジン最適化 (SEO) やアクセシビリティの向上に役立ちます。

このページのメインとなる領域を表すため、`h1` 要素の前に開始タグ `<main>`、`p` 要素の後に終了タグ `</main>` を追加しましょう。

# --hints--

`main` 要素には開始タグが必要です。 開始タグは `<elementName>` のような形式の構文です。

```js
assert(document.querySelector('main'));
```

`main` 要素には終了タグが必要です。 終了タグは `<` の直後に `/` があります。

```js
assert(code.match(/<\/main\>/));
```

`main` 要素の開始タグは `body` 要素の開始タグの下に置く必要があります。 順番が誤っているようです。

```js
const main = document.querySelector('main');
assert.equal(main?.previousElementSibling, null);
```

`main` 要素の開始タグは `h1` 要素の上に置く必要があります。 順番が誤っているようです。

```js
const collection = [...document.querySelectorAll('main,h1')].map(
  (node) => node.nodeName
);
assert(collection.indexOf('MAIN') < collection.indexOf('H1'));
```

`main` 要素の終了タグは `p` 要素の下に置く必要があります。 順番が誤っているようです。

```js
const mainNode = document.querySelector('main');
const pNode = document.querySelector('p');
assert(
  mainNode.contains(pNode) &&
    pNode.textContent.toLowerCase().match(/see more cat photos in our gallery/)
);
```

# --seed--

## --seed-contents--

```html
<html>
  <body>
--fcc-editable-region--

    <h1>CatPhotoApp</h1>
    <h2>Cat Photos</h2>
    <!-- TODO: Add link to cat photos -->
    <p>See more cat photos in our gallery.</p>

--fcc-editable-region--
  </body>
</html>
```

