Hatena::Groupweb

Role

Role

Roleとは

XHTML Role Attribute Modulerole属性)が値に持つ「役割」の定義。またRole Attribute Moduleやrole属性を指すこともある。

role属性

role属性はclass属性と似た働きで、要素の「役割」を示す。要素に与えられたRoleを参考に、アプリケーションの挙動を変化させるなどができるようになる。元々はXHTML 2.0で提供される属性だったが、その可能性やRDFaのXHTML 1.1への対応などの理由から、XHTMLのモジュールとして定義しなおされた。2007年10月現在、仕様書はLast Callの段階にある。

class属性との大きな違いはRoleがCURIE*1で提供されること、つまりRoleがNamespaceを持つことにある。ただの文字列であるclass属性値はコリジョンを起こす可能性が非常に高いが、Namespaceを持つRoleではその心配がない。またRoleをRDFのtaxonomyとして提供すれば、それを元に推論などの操作を行うことができる。

定義済みのRole

XHTML Role Attribute Moduleにはあらかじめいくつかの値が定義されている。

banner
会社のロゴや広告など、何らかの広報活動に関する情報
contentinfo
脚注や権利情報、プライバシーポリシーなど、ページ内容についての情報
definition
定義。dfn要素などで示した定義語の説明など
main
その文書内でメインとなる情報
navigation
ナビゲーションバーやページ内リンクなど
note
メインの情報に対しての挿入句や補助的な情報など
search
サイト内や一般のWWW検索フォームなど
secondary
メインとは別の内容。ポータルサイトを例に挙げると、時計や天気予報、株価情報などの部分
seealso
メインの情報に関係する情報

Roleの例

  • ARIA Rolesにて、ボタンやメニューなどのGUIコンポーネントがRoleとして定義されている。

*1:Compact URI—prefix:referenceで表されるURIの短縮構文、QNameのスーパーセット