![見出し画像](https://assets.st-note.com/production/uploads/images/122218063/rectangle_large_type_2_34d350cdbb8e9477cf6e1765a75b9168.jpeg?width=1200)
コーディング視点からの、ウェブアクセシビリティ対応
ウェブアクセシビリティについて、コーディングするときに実際に意識した点、体感した点を以下に覚書。
HTML構造
アクセシビリティのみならずSEO的にも必ず意識する、基本中の基本要素。
デザインにもよるが、構成は以下の流れを踏襲。
header
navigation
main-contents
footer
一通りコーディングが完了したら、バリデータにかけてエラーをつぶす。
![](https://assets.st-note.com/img/1700560557274-XokPGBuUAZ.jpg?width=1200)
ブロックスキップの追加
スクリーンリーダー使用するユーザー等に対して、「本文へ」といったメインコンテンツへジャンプできるリンクを追加。
見出しレベルは段階ごとに
文書構造に応じてレベルを段階的に落としていく。
CSSによる装飾は、デザイン的イレギュラーを想定し、タグに直接紐づくような設定は避ける。
![](https://assets.st-note.com/img/1700564130584-NZ4xvei36s.jpg?width=1200)
リスト(順序付、順不同、関連)タグの適用
見た目だけでマークアップせず、文書構造に応じたリストタグを用いる。
リンクテキスト
デザインで決まった指示が無くても、リンク移動するかどうかを判断できるように記述、装飾する。
![](https://assets.st-note.com/img/1700564580300-VDAfAg13AH.jpg)
画像
代替テキスト
画像の内容がわかるようなテキストをalt属性で指定=スクリーンリーダーによる読み上げを意識。
キャプション付画像でも、極力キャプションとは内容の違うものを。
(情報として成り立っていないものはaltを空、もしくはcssで指定)
スライダーなど、動きのある要素
再生・停止ボタン
自動的に開始して5秒動作が続く場合、必要に応じてユーザーが停止、再生できるボタンを設置する。
![](https://assets.st-note.com/img/1701412091409-e9i9CMXrB9.jpg?width=1200)
キーボード操作
マウスだけでなく、キーボードでの操作も意識する。
フォーカスの表示
キーボード操作時でもフォーカス位置がわかるよう、表示・装飾を施す。
フォーカスの移動順
コンテンツ構成の意味に沿った順序を意識する。
キーボードトラップの注意
フォーカスが途中で行方不明にならず、ページの先頭から最後まで移動できるようにする。
![](https://assets.st-note.com/img/1701412143516-NIFZLojMro.jpg)
モバイルでの留意点
タッチ操作だけでなく、外部キーボード接続も想定。
VoiceOverなど、音声認識を使用した操作も想定されるため、文書構成、フォーカス順序といった前述の要素は、引き続き留意。
実際に対策してみて見つかった、これからの課題
メガメニュー、アコーディオンなどインタラクション要素への音声読み上げ対応
開閉要素の存在の有無、開閉状況の説明を音声ガイドで読み上げられるよう、role属性など付与したモジュールに構築しなおす必要がある・・・かも。
![](https://assets.st-note.com/img/1701424171377-dyInjyqg9p.jpg?width=1200)
対策方法に迷ったら・・・
Webアクセシビリティ 逆引きガイドライン
チートシート的閲覧に最適。ただし、注意事項にあるとおり、あくまで参考程度に。