mainタグの使い方 [HTMLリファレンス]
HTMLのmainタグは、文書の主要なコンテンツを示すために使用されます。
このタグは、ページ内で最も重要な情報を含む部分を囲むために設計されています。
通常、mainタグは、ナビゲーションバーやサイドバー、フッターなどの補助的なコンテンツを除いた、ページの中心的な内容を含みます。
検索エンジンやスクリーンリーダーはmainタグを利用して、ページの主要な内容を特定しやすくします。
このタグは、HTML5で導入され、1ページに1つだけ使用することが推奨されています。
mainタグとは
mainタグは、HTML5で導入されたセマンティック要素の一つで、Webページの主要なコンテンツを示すために使用されます。
このタグは、ページ内で最も重要な情報を含む部分を明確にするために設計されています。
mainタグを使用することで、検索エンジンやスクリーンリーダーがページの主要な内容をより正確に理解し、ユーザーに適切な情報を提供することが可能になります。
mainタグは、通常、ヘッダーやナビゲーション、フッターなどの要素とは異なる、ページの中心的なコンテンツを囲むために使用されます。
これにより、ページの構造がより明確になり、アクセシビリティが向上します。
mainタグの基本的な使い方
mainタグの基本構文
mainタグの基本的な構文は非常にシンプルです。
以下のように、ページの主要なコンテンツを囲むために使用します。
<main>
<!-- ここに主要なコンテンツを記述 -->
<h1>主要な見出し</h1>
<p>この部分がページのメインコンテンツです。</p>
</main>この構文により、mainタグ内に含まれるコンテンツがページの中心的な情報であることを示します。
mainタグの配置場所
mainタグは、通常、ページのヘッダーやナビゲーション、フッターの外側に配置されます。
以下のように、headerやfooterタグと組み合わせて使用することが一般的です。
<header>
<!-- ヘッダーコンテンツ -->
</header>
<nav>
<!-- ナビゲーションメニュー -->
</nav>
<main>
<!-- 主要なコンテンツ -->
</main>
<footer>
<!-- フッターコンテンツ -->
</footer>この配置により、mainタグがページの主要なコンテンツを明確に示し、他のセクションと区別されます。
mainタグと他のセマンティックタグの違い
mainタグは、他のセマンティックタグと異なり、ページの主要なコンテンツを示すために特化しています。
以下の表で、mainタグと他のセマンティックタグの違いを比較します。
| タグ名 | 用途 |
|---|---|
main | ページの主要なコンテンツを示す |
header | ページやセクションのヘッダー |
footer | ページやセクションのフッター |
nav | ナビゲーションリンクを含む |
article | 独立したコンテンツを示す |
section | 関連するコンテンツのグループ |
このように、mainタグはページの中心的な情報を示すために使用され、他のセマンティックタグはそれぞれ異なる役割を持っています。
mainタグの実装例
シンプルなWebページでの使用例
シンプルなWebページでは、mainタグを使用して主要なコンテンツを明確に示すことができます。
以下は、基本的なWebページでのmainタグの使用例です。
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>シンプルなWebページ</title>
</head>
<body>
<header>
<h1>サイトのタイトル</h1>
</header>
<main>
<h2>メインコンテンツの見出し</h2>
<p>ここにページの主要なコンテンツが表示されます。</p>
</main>
<footer>
<p>フッター情報</p>
</footer>
</body>
</html>
この例では、mainタグを使用して、ページの中心的な情報を囲んでいます。
複数のセクションを持つページでの使用例
複数のセクションを持つページでは、mainタグ内にsectionタグを使用して、コンテンツを整理することができます。
<main>
<section>
<h2>セクション1の見出し</h2>
<p>セクション1の内容です。</p>
</section>
<section>
<h2>セクション2の見出し</h2>
<p>セクション2の内容です。</p>
</section>
</main>
この構造により、mainタグ内のコンテンツが複数のセクションに分かれていることを示し、ページの構造を明確にします。
mainタグを用いたレスポンシブデザイン
mainタグは、レスポンシブデザインを実現するためにも役立ちます。
CSSを使用して、mainタグ内のコンテンツをデバイスに応じて調整することができます。
<style>
main {
max-width: 800px;
margin: 0 auto;
padding: 20px;
}
@media (max-width: 600px) {
main {
padding: 10px;
}
}
</style>
<main>
<h2>レスポンシブデザインの見出し</h2>
<p>このコンテンツは、デバイスの幅に応じてスタイルが変わります。</p>
</main>この例では、mainタグにスタイルを適用し、デバイスの幅に応じてパディングを調整しています。

これにより、mainタグ内のコンテンツがさまざまなデバイスで適切に表示されます。
mainタグのアクセシビリティ
スクリーンリーダーとの互換性
mainタグは、スクリーンリーダーとの互換性を高めるために重要な役割を果たします。
スクリーンリーダーは、mainタグを認識し、ユーザーにページの主要なコンテンツがどこにあるかを知らせることができます。
これにより、視覚障害のあるユーザーがページをより効率的にナビゲートできるようになります。
mainタグを使用することで、スクリーンリーダーがページの構造を理解しやすくなり、ユーザーエクスペリエンスが向上します。
SEOへの影響
mainタグは、SEO(検索エンジン最適化)にも良い影響を与えます。
検索エンジンは、mainタグを使用してページの主要なコンテンツを特定し、インデックスを作成する際にその情報を重視します。
これにより、mainタグ内のコンテンツが検索結果でより高く評価される可能性があります。
mainタグを適切に使用することで、検索エンジンがページの内容を正確に理解し、関連性の高い検索結果を提供することができます。
アクセシビリティ向上のためのベストプラクティス
mainタグを使用してアクセシビリティを向上させるためのベストプラクティスを以下に示します。
- 一つのページに一つのmainタグを使用する: ページ内で
mainタグを複数使用しないようにし、主要なコンテンツを一つのmainタグで囲むようにします。 - 主要なコンテンツを明確にする:
mainタグ内にページの中心的な情報を配置し、他のセクションと区別します。 - 適切な見出しを使用する:
mainタグ内のコンテンツには、適切な見出しタグ<h1>から<h6>を使用して、コンテンツの階層を明確にします。 - ARIAランドマークを活用する: 必要に応じて、
role="main"を使用して、mainタグが主要なコンテンツであることをさらに強調します。
これらのベストプラクティスを実践することで、mainタグを使用したWebページのアクセシビリティを向上させることができます。
mainタグの応用例
シングルページアプリケーションでの使用
シングルページアプリケーション(SPA)では、mainタグを使用して動的に変化する主要なコンテンツを管理することができます。
SPAでは、ページ全体を再読み込みすることなく、mainタグ内のコンテンツをJavaScriptで更新することが一般的です。
以下は、SPAでのmainタグの使用例です。
<main id="appMain">
<!-- JavaScriptで動的にコンテンツが更新される -->
<h2>初期コンテンツ</h2>
<p>この部分はJavaScriptで更新されます。</p>
</main>JavaScriptを使用して、mainタグ内のコンテンツを動的に変更することで、ユーザーにシームレスな体験を提供できます。
CMSでのmainタグの活用
コンテンツ管理システム(CMS)では、mainタグを使用して、テンプレート内で主要なコンテンツを明確に定義することができます。
CMSでは、mainタグをテンプレートに組み込むことで、編集者が主要なコンテンツを簡単に管理できるようになります。
<main>
<!-- CMSによって動的に生成されるコンテンツ -->
<h2>{{ pageTitle }}</h2>
<div>{{ pageContent }}</div>
</main>このように、mainタグを使用することで、CMSのテンプレートがよりセマンティックになり、コンテンツの管理が容易になります。
mainタグを用いたコンテンツ管理
mainタグは、コンテンツ管理においても重要な役割を果たします。
特に、複数のコンテンツを持つページでは、mainタグを使用して主要なコンテンツを一元管理することができます。
以下は、mainタグを用いたコンテンツ管理の例です。
<main>
<article>
<h2>記事のタイトル</h2>
<p>記事の内容がここに表示されます。</p>
</article>
<article>
<h2>別の記事のタイトル</h2>
<p>別の記事の内容がここに表示されます。</p>
</article>
</main>この例では、mainタグ内に複数のarticleタグを配置し、主要なコンテンツを整理しています。
これにより、コンテンツの管理が容易になり、ページの構造が明確になります。
まとめ
この記事では、mainタグの基本的な使い方や実装例、アクセシビリティへの影響、応用例について詳しく解説しました。
mainタグを適切に使用することで、Webページの構造が明確になり、ユーザーや検索エンジンにとって理解しやすくなります。
これを機に、あなたのWebページにmainタグを取り入れ、よりセマンティックでアクセシブルなデザインを目指してみてください。