画面遷移のアクセシビリティ課題を
解決しうるNavigation APIへの期待
JSConfJP 2023 | 2023-11-19
1
CrowdWorks Inc.|
自己紹介
やまのく@yamanoku
株式会社クラウドワークス�プロダクト本部 プロダクト開発部 プラットフォーム開発3グループ
主な業務�UI設計、アクセシビリティ啓蒙、フロントエンドの技術的負債解消
発表・登壇
2
CrowdWorks Inc.|
画面遷移と
アクセシビリティについて
3
3
CrowdWorks Inc.|
CrowdWorks Inc.|
Webにおける画面遷移の歴史
4
CrowdWorks Inc.|
スムーズな画面遷移の実現
5
CrowdWorks Inc.|
6
CrowdWorks Inc.|
アクセシビリティについて
7
CrowdWorks Inc.|
SPAの画面遷移におけるアクセシビリティ課題
見た目上は変わっているように見えても支援技術でわからない問題
例:リンクを押下したが画面が変化して切り替わったことが通知されない
8
CrowdWorks Inc.|
Route Announcerという手法
WAI-ARIAとJavaScriptを併せて支援技術へ通知する手段
変化させるタイミングで発火させることで支援技術に伝わる
例:ページの移動が完了した時点でライブリージョンへタイトルを挿入
9
CrowdWorks Inc.|
各種フレームワークでの対応
WIP(2023-11時点)
10
CrowdWorks Inc.|
通知以外で足りていない部分
11
CrowdWorks Inc.|
クライアントサイドだけの操作における弊害
12
CrowdWorks Inc.|
フォーカスマネジメント
画面遷移した場合にフォーカス位置が切り替わってないとき問題がある
例:ナビゲーションリンクから遷移したがリンクからフォーカスが変わっておらず次の操作でナビゲーションリンク位置からになってしまう
13
CrowdWorks Inc.|
スクロール位置が正しくない問題点
MPAのようなサイトの習慣に慣れている人は�SPAの場合に学習が必要になってしまう
14
CrowdWorks Inc.|
Navigation API
15
15
CrowdWorks Inc.|
CrowdWorks Inc.|
Navigation API とは
16
CrowdWorks Inc.|
Interop における Navigation API
17
CrowdWorks Inc.|
18
CrowdWorks Inc.|
開始・終了のタイミングを受け取る
ナビゲーションの開始・終了を検知できるようになったので�その判定を元にRoute Announcementの通知タイミングも合わせられる
19
CrowdWorks Inc.|
フォーカスマネジメント問題の解消
20
CrowdWorks Inc.|
21
CrowdWorks Inc.|
22
CrowdWorks Inc.|
スクロール位置の復元
23
CrowdWorks Inc.|
24
CrowdWorks Inc.|
今後のNavigation APIへの期待
25
CrowdWorks Inc.|
Thanks you for Listening !
JSConfJP 2023 | 2023-11-19
26
CrowdWorks Inc.|