BLOG

ホームページ制作・Wordpress構築やHTML5やUnity3Dでのアプリ開発など
WEBやアプリ開発に関する技術的な内容をお届けいたします。

Vol.2 – Bootstrap4に学ぶ、アクセシビリティ(WAI-ARIA)対応のレスポンシブWebサイト制作

アクセシビリティ WAI-ARIA

前回「Vol.1-Bootstrap4に学ぶ、アクセシビリティ(WAI-ARIA)対応のレスポンシブWebサイト制作」では、「role=”group”」「aria-label」と「aria-label」について学びました。
今回は、Bootstrap4の「Button Dropdown」コンポーネントを用いて「aria-haspopup, aria-expanded」を学びます。

まずは、「Button Dropdown」のソースコードから見てみましょう!

ドロップダウンボタンを3つ並べるソースコードです。

下記のボタン群が上記HTMLの表示結果です。



buttonタグにの属性としてaria-haspopuparia-expandedが記述されていますね。
aria-haspopupは、その要素のサブメニュー(下位の項目)が存在するかを定義します。上記で記述したButton Dropdownの場合、aria-haspopup="true"となっていますので、サブメニューが存在するということになります。

aria-expandedは、状態を表す属性となります。要素がアクティブであればaria-expanded="true"要素が非アクティブであればaria-expanded="false"となります。

実際に動作を確認してみましょう

Mac環境なので確認には、スクリーンリーダーであるVoiceOverを利用しました。

Macを利用している方は、Command + F5でOn・Offが簡単に切り替えられます。
ブラウザは、キー操作で閲覧がしやすい、Chromeを利用しました。

画面キャプチャ

VoiceOverをONにして、キー操作(Tabを押下)で「Default」と記述されたbuttonタグにアクセスした状態です。ポップアップボタンであることを、Voice Overが教えてくれます。

画面キャプチャ

少し待つと今ポップアップボタンの上にいてoption + shift + spaceを押すとサブメニューのOn・Offが可能なことを教えてくれます。キー操作をしてサブメニューを開いてみましょう。

画面キャプチャ

サブメニューが開くと、Javascriptによりaria-expanded="true"に変わりサブメニューがアクティブな状態であることを示しました。
私が試したところ下矢印キーやreturnキーでもメニューが開きました。
また、buttonタグ上にフォーカスがある状態でescキーを押すことで、表示されているサブメニューを非表示にできました。
非表示になった状態では、もちろんaria-expanded="false"となりました。
サブメニューがアクティブな場合にtabキーを押すとサブメニューに遷移し、サブメニューが非アクティブな場合、サブメニューをスキップし次の対象に移ります。非常に親切に作られていますね。

まとめ

今回は、WAI-ARIAを実装することによって、支援技術をサポートできること非常にパワフルな側面を垣間見れたのではないでしょうか。
Bootstrapを利用する、もしくはBootstrapをカスタマイズしWEBサイトを構築すると、WAI-ARIAに関するJavascript処理が元々組み込まれているため、HTMLの記述を間違えなければアクセシビリティ対応やレスポンシブも対応の負荷が軽くなります。
これをこれからのホームページ制作に活かさない手はないですね。