role属性 * - 要素の役割  (WAI-ARIA)

■ 概要

項  目説  明
記述形式 role="役割"   
値 の形式 テキスト (役割の定義 に基づくキーワード)  
対応ブラウザー C?+ / e?+ / N?+ / Fx?+ / Op?+ / Ch?+ / Sa?+
適用可能な要素
(種  類)
すべての要素 
 (グローバル属性
継  承 しない

■ 解説

role属性 は,

HTML5 の規定に基づく 属性 ではありません。  HTML のほか,xml なども含めたより広範囲の複数のページ記述言語を対象として,W3CWAI(Web Accessibility Initiative) が定めた Accessible Rich Internet Applications (WAI-ARIA)Ver. 1.0:2014年3月20日 勧告Ver. 1.1:2016年10月27日 勧告候補)により規定されているものです。 

この WAI-ARIA は,Webページの「情報アクセシビリティ」 について,様々な Web コンテンツをよりアクセシブルにすための規格 として策定されました。 その基になっているのが,同じく W3C が 2008年12月11日に勧告した Web Content Accessibility Guidelines (WCAG) 2.0 です。 これは Web コンテンツアクセシビリティに関するガイドライン であり,国際規格 ISO/IEC 40500:2012 としても,さらに,日本の JIS X 8341-3:2016 としても採用されています。

HTML5 では,WAI-ARIA の要素の 役割 および 状態とプロパティ を記述するための属性として, role 属性aria-* 属性HTML5 の仕様書(HTML5: A vocabulary and associated APIs for HTML and XHTML, 2014年10月28日勧告) で参照されています。 これについては,HTML5の通常の属性とは別に,PF/XTech/HTML5/RoleAttribute として,規格策定が進められました。

WAI-ARIA Ver. 1.0 の勧告内容は,詳細かつ多岐にわたるもので,ここにそのすべてを記すことはできません。 ただし,本リファレンスの各 要素 のページの 属性 欄中の表の後半には,HTML5の勧告内容 に従って,【ARIA role属性】 で指定可能な値 (役割)【ARIA aria-* 属性】 で指定可能なもの(状態とプロパティ) が示されております。どうぞ、これらを活用してください。

とりあえず,このページでは,role属性の値 として,どのようなものがあるのかを列挙することにとどめることにします。 なお,詳細については WAI-ARIA Ver. 1.0 を参照してください。

役割 (role) は,次の4種類:

  1. 抽象役割 (abstract roles)
  2. ウィジェットとしての役割 (widget roles)
  3. 文書構造を担う役割 (document structure roles)
  4. ランドマークの役割 (landmark roles)

に分類されます。 以下に,これら4種類に含まれる 役割 (role) を示しておきます。

1. 抽象役割 (abstract roles)

次の各 役割 (role) は,一般的な役割 (role) の概念を定義する目的 で WAI-ARIA 役割分類体系 (role taxonomy) を補助するために使用するものです。

抽象役割 (abstract roles) は, 概念体系 (ontology) を構成するために使用するものです。 Webページ作成者は,抽象役割 (abstract roles) をコンテンツ内には,決して 使用してはいけません

2. ウィジェットとしての役割 (widget roles)

次の各 役割 (role) は,スタンドアロンのユーザーインターフェース・ウィジェット,または,より大きな複合ウィジェットの一部として機能するものです。

次の各 役割 (role) は,複合ユーザーインターフェース・ウィジェットとして機能するものです。 つまり,この 役割 (role) は,ウィジェットとそれ以外のものを含めた全体を管理するコンテナとして,より一般的な機能形態をもつものです。

3. 文書構造を担う役割 (document structure roles)

次の各 役割 (role) は,ページのコンテンツを体系付ける構造を記述するものです。 文書構造は通常,ユーザーから変更されることはありません。

4. ランドマークの役割 (landmark roles)

次の各 役割 (role) は,ナビゲーション ランドマーク (landmark) として意図されたページ内の領域のことです。 これら 役割 (role) のうち,application 以外のすべては,landmark 基本型から継承し,かつ,すべてが role属性 からインポートされます[ ROLE ]。 役割 (role) は,WAI-ARIA 役割分類体系 (role taxonomy) のある部分を明確にするためにここに含まれています。

■ 使用例( role属性の利用)

次の例では,<div> 要素は,ナビゲーションの目的<ul> 要素やその各 <li> 要素に含まれる リンク を選択肢として提供しています。 role属性 の適切な使用例といえるでしょう。

HTMLソース
HTML
<body> ~ </body>
<div role="navigation">
  <ul>
    <li> <a href="downloads">ダウンロード</a></li>
    <li> <a href="docs">ドキュメント</a>/li>
    <li> <a href="news">ニュース</a></li>
  </ul>
</div>

ブラウザー 表示例

■ 備考