第4回 D2D アクセシビリティ勉強会 準備資料カルーセル サンプル1

jQueryプラグインSlickのカスタマイズ例

  • オートプレイOFF。
  • 無限ループOFF。
  • キーボードのTABキーと矢印キーで操作ができる。
  • js無効時には、全ての画像を表示し、遷移も可能。
  • css無効時でも、リスト構造が保たれている。
  • ul要素に「role="navigation"」、img要素に「role="menuitem"」を定義することで「ナビゲーション」「メニュー項目」と読み上げることができる。 (少しでも役割を伝えるために)
  • 「タブ」「タブ項目」とする方法も考案されている。(参考:About Carousels and ARIA Tabs (Web Axe)
    
    <div>
    <ul>
    <li id="img1" role="tabpanel" aria-labelledby="tab1"><img src="img1.png" alt="img-No.1"></li>
    <li id="img2" role="tabpanel" aria-labelledby="tab2"><img src="img2.png" alt="img-No.2"></li>
    <li id="img3" role="tabpanel" aria-labelledby="tab3"><img src="img3.png" alt="img-No.3"></li>
    </ul>
    <ul role="tablist">
    <li id="tab1" role="tab" aria-controls="img1" aria-selected="true"><button type="button"><img src="btn.png" alt="No.1"></button></li>
    <li id="tab2" role="tab" aria-controls="img2" aria-selected="false"><button type="button"><img src="btn.png" alt="No.2"></button></li>
    <li id="tab3" role="tab" aria-controls="img3" aria-selected="false"><button type="button"><img src="btn.png" alt="No.3"></button></li>
    </ul>
    </div>
    
    
    • ※ role="tab"、"tabpanel"はPC-Talker、VoiceOver、NVDA未対応

変更したポイント

  • div要素(サンプル)からul要素に変更。(WAI-ARIA未対応スクリーンリーダーにも◯)
  • 左右(< >)ボタン色を濃い#666に変更。(コントラスト比 5.7:1)
  • ボタンdisabled時の透明度を0に変更。(操作できないことを分かりやすく)
  • カレントのドットサイズを拡大。(色だけの区別にならないように)
  • フォーカス時のアウトラインを目立つように変更。