メインコンテンツ
ここに主要な内容が入ります。
The role
attribute in HTML defines the purpose of an element, helping assistive technologies like screen readers accurately interpret the structure and functionality of a web page.
role
属性は、Webページの各要素に対して「役割(Role)」を与えるために使用されます。特に、以下の目的で利用されます。
例えば、ナビゲーションメニューにはrole="navigation"
を指定することで、その要素がナビゲーションの役割を持つことを明示できます。
role
属性にはさまざまな値がありますが、大きく以下のカテゴリに分けられます。
これらのrole
は、Webページのレイアウトを明示的に定義するのに役立ちます。
banner
<header role="banner">
main
<main role="main">
complementary
<aside role="complementary">
contentinfo
<footer role="contentinfo">
navigation
<nav role="navigation">
使用例
HTML
<header role="banner">
<p class="head1">サイトのタイトル</p>
</header>
<nav role="navigation">
<ul>
<li><a href="#home">ホーム</a></li>
<li><a href="#about">会社概要</a></li>
</ul>
</nav>
<main role="main">
<p class="head2">メインコンテンツ</p>
<p>ここに主要な内容が入ります。</p>
</main>
<aside role="complementary">
<p class="head3">関連情報</p>
<p>サイドコンテンツです。</p>
</aside>
<footer role="contentinfo">
<p>© 2025 Example Inc.</p>
</footer>
サイトのタイトル
メインコンテンツ
ここに主要な内容が入ります。
ボタンやフォームの入力フィールドなど、ユーザーが操作できる要素に適用することで、より適切な情報を提供できます。
button
<div role="button">クリック</div>
checkbox
<div role="checkbox">
radio
<div role="radio">
progressbar
<div role="progressbar">
slider
<div role="slider">
HTML
<div role="button" tabindex="0" onclick="alert('クリックされました!')">
カスタムボタン
</div>
role
属性を使うべき場面<div>
や <span>
でボタンを作るなど)role
属性を使わなくても良い場面<button>
や <nav>
)NG例(不要なroleの使用)
HTML
<button role="button">送信</button> <!-- 不要: <button> はデフォルトでボタンの役割を持つ -->
role
属性はWebページのアクセシビリティを向上させるために重要。role
を設定すると、スクリーンリーダーが正しく認識できる。role
の使用は避ける。