Web Content Accessibility Guidelines (WCAG) 2.1 を
読んだ
前提
A11YJ で
- WCAG の
達成方法集ではなく、 WCAG の 達成基準、 書籍を 精読する。 - サーバーの
可用性など、 非機能要件に 該当する 事項と アクセシビリティは 切り離して 考える。
Webアーキテクチャ構成で、
JavaScriptの
- Djangoの
テンプレート、 JSF等、 サーバー側で HTMLを レンダリングする Webアーキテクチャ
をイメージして
達成基準で、 サーバーサイドに 関係しそうな 内容の 抜粋
以下、
達成基準 1.1.1 非テキストコンテンツ
ここは、
- CAPTCHA 非テキストコンテンツが、
コンピュータではなく 人間が コンテンツに アクセスしている ことを 確認する 目的で 用いられている とき、 テキストに よる 代替は、 その 非テキストコンテンツの 目的を 特定し、 説明している。な おかつ、 他の 感覚に よる 知覚>に 対応して 出力する CAPTCHA の 代替形式を 提供する ことで、 様々な 障害に 対応している。
CAPTCHA の
アクセシビリティ観点で
7.1.1.1 非テキストコンテンツに
- 「CAPTCHA」を
3つ 以上の 感覚に 対応した 形式で 提供する - 「CAPTCHA」を
使用しないでも 済むように、 カスタマーサービスなどの 担当者への 連絡手段を 提供する - 事前に
許可した ユーザーには 「CAPTCHA」を 要求しないようにする
CAPTCHA は、
これは、
* Googleの
また、
reCAPTCHA Enterprise の
使用イメージ
個人的に、reCAPTCHA v3 の みだと、 誤検知リスクが あるように 思いました。
reCAPTCHA v2 のみか reCAPTCHA v3 でロボット扱いになった 場合に、 reCAPTCHA v2 を 使用するのが 良いのかと 思います。 案1
reCAPTCHA v2 のみ案2
reCAPTCHA v3 とreCAPTCHA v2 を 2段階で かける。
達成基準 2.2.1 タイミング調整可能
コンテンツの
コンテンツに
制限時間を 設定する 場合は、 次に 挙げる 事項のうち、 少なくとも 一つを 満たしている * 解除
制限時間がある コンテンツを 利用する 前に、 利用者が その 制限時間を 解除する ことができる。 又は、 * 調整
制限時間がある コンテンツを 利用する 前に、 利用者が 少なくとも デフォルト設定の 10 倍を 超える、 大幅な 制限時間の 調整を することができる。 又は、 * 延長
時間切れになる前に利用者に 警告し、 かつ少なくとも 20 秒間の 猶予を もって、 例えば 「スペースキーを 押す」などの 簡単な 操作に より、 利用者が 制限時間を 少なくとも 10 倍以上延長する ことができる。 又は、 * リアルタイムの 例外
リアルタイムのイベント (例えば、 オークション) に おいて 制限時間が 必須の 要素で、 その 制限時間に 代わる 手段が 存在しない。 又は、 * 必要不可欠な 例外
制限時間が必要不可欠な もので、 制限時間を 延長する ことが コンテンツの 動作を 無効に する ことになる。 又は、 * 20 時間の 例外
制限時間が20 時間よりも 長い。
上記を
パスワードの
忘れの リンクの 有効期限
一般的に24時間な 気が する。 セッションタイムアウト
入力負荷の大きい 作業の タイムアウト時間を 長く 保つ、 もしくは 入力に 反応して 延長するようにする。 ログイン認証に
使用する クッキーの タイムアウト
明示的にログアウトしなければ、 ログアウトしない?
達成基準 2.2.2 一時停止、 停止、 非表示
自動更新する
(レベル A) * 自動更新
自動更新する情報が、 (1) 自動的に 開始し、 (2) その 他の コンテンツと 並行して 提示される 場合、 利用者が それを 一時停止、 停止、 もしくは 非表示に する、 又は その 更新頻度を 調整する ことのできる メカニズムが ある。ただし、 その 自動更新が 必要不可欠な 動作の 一部である 場合は 除く。
Ajax ではなく、
達成基準 2.2.4 割り 込み
(レベル AAA) 割り
込みは、 利用者が 延期、 又は 抑制する ことができる。ただし、 緊急を 要する 割り込みは 除く。
Redmine で
自前で
Scrapbox - チームの
達成基準 2.2.5 再認証
(レベル AAA) 認証済の
セッションが 切れた 場合は、 再認証後でも データを 失う ことなく 利用者が 操作を 継続できる。
セッション情報の
サーバー側で
もしくは、
達成基準 2.2.6 タイムアウト
(レベル AAA)
データの損失を 引き起こす 恐れの ある 利用者の 無操作の 残り 時間が 警告される。ただし、 利用者が 20 時間以上何もしなくても データが 保持される 場合は、 この 限りではない。
- 注記 プライバシー関連の
規制に より、 利用者を 認証する 前や 利用者の データが 保存される 前に、 利用者の 明確な 同意が 必要に なる 可能性が ある。 利用者が 未成年の 場合、 ほとんどの 裁判管轄、 国又は 地域で、 利用者からの 明示的な 同意を 要請する ことができない。 この 達成基準に 適合する ための アプローチと して データの 保存を 検討する 場合は、 プライバシーの 専門家や 弁護士に 相談するのが 望ましい。
Webシステムで
ほとんど
達成基準 2.4.5 複数の 手段
(レベル AA) ウェブページ一式の
中で、 ある ウェブページを 見つける 複数の 手段が 利用できる。ただし、 ウェブページが 一連の プロセスの 中の 1 ステップ又は 結果である 場合は 除く。
WCAG 2.0 の
達成基準 2.4.5 の
具体的な メリット: * 複数の 手段で サイトを ナビゲートする 機会を 提供する ことに よって、 人々が 情報を より 早く 見つけるのに 役立つ ことができる。 視覚障害の ある 利用者は、 画面拡大ソフト又は スクリーンリーダーを 用いて 大きな ナビゲーションバーを 経由して スクロールするよりも、 検索機能を 使用して サイト内の 適切な 部分へ ナビゲートしていく ほうが 容易な ことがある。 認知障害の ある 人は、 複数の ウェブページを 読んで 横断するするよりも、 サイト全体を 見渡す ことのできる 目次又は サイトマップを 好むことがある。 中には、 サイトの コンセプトや レイアウトを 最も よく 理解できるように、 ウェブページから ウェブページへと 順番に 移動しながら サイト内を 探索するのを 好む 利用者も いるかもしれない。
- 認知に
制約の ある 利用者は、 階層構造を 用いた ナビゲーションスキームは 分かりづらいことがあるため、 検索機能を 使う ほうが より 容易な ことがある。
UI/UX担当が孤立する<wbr>画面
は
この
と
サーバーサイドエンジニアも
達成基準 2.4.8 現在位置
(レベル AAA) ウェブページ一式の
中での 利用者の 位置に 関する 情報が 利用できる。
以下、
404エラー、
500エラー、 401エラー等、 元の ページから 遷移した 結果、 元の ページにも 戻れずTOPページに 戻るしかない。 パンくず
リストを 実装する。
達成基準 3.2.4 一貫した 識別性
(レベル AA) ウェブページ一式の
中で 同じ 機能を 有する コンポーネントは、 一貫して 識別できる。
これも、2.4.8
に
ページの
達成基準 3.3.1 エラーの 特定
(レベル A) 入力エラーが
自動的に 検出された 場合は、 エラーと なっている 箇所が 特定され、 その エラーが 利用者に テキストで 説明される。
JavaScript で
あとは、
達成基準 3.3.3 エラー修正の 提案
(レベル AA) 入力エラーが
自動的に 検出され、 修正方法を 提案できる 場合、 その 提案が 利用者に 提示される。ただし、 セキュリティ又は コンテンツの 目的を 損なう 場合は 除く。
サーバー側でのみ
Form送信後に、
前者の
達成基準 3.3.4 エラー回避 (法的、 金融、 データ)
(レベル AA)
利用者にとって 法律行為も しくは 金融取引が 生じる、 利用者が 制御可能な データストレージシステム上の データを 変更も しくは 削除する、 又は 利用者が 試験の 解答を 送信する ウェブページでは、 次に 挙げる 事項のうち、 少なくとも 一つを 満たしている
- 取消: 送信を
取り消すことができる。 - チェック: 利用者が
入力した データの 入力エラーが チェックされ、 利用者には 修正する 機会が 提供される。 - 確認: 送信を
完了する 前に、 利用者が 情報の 見直し、 確認及び 修正を する メカニズムが 利用できる。
データ、という
以下、
* バリデーションを
* 確認画面で
* metaリフレッシュの
達成基準 3.3.6 エラー回避 (すべて )
3.3.4
と
全ての
この
4. 堅牢 (robust)
セキュリティのrobust
かとrobust
でした。
7. ユーザインタフェース コンポーネントの 入力目的
入力項目の
個人情報の
引用するには
7. ユーザインタフェース コンポーネントの
また、
最適な
個人情報系の
達成方法集
数は少ないですが、
サーバサイドスクリプトの
感想
Web Content Accessibility Guidelines (WCAG) 2.1 を
reCAPTCHA v2、
reCAPTCHA v3
reCAPTCHA v2、reCAPTCHA v3 に ついて 初めて 突っ込んで 調べてみて 興味を 持ちました。
導入もそこまで 難しい ものではなさそうです。 一次情報 を
確認するのは 重要。
W3C勧告をちゃんと 読んだのは 初めてでしたが、 要約されていない 生文書を 読むと、 要約文書から 欠落していた 情報からの 気づきが ありました。 機能要件の
優先度 中
に割り当てられる 要件が、 多く 記載されていると 思った。
個人的感覚です。
設計段階で盛り込まないと、 テスト時に 気づかず そのまま 未実装で リリースされる 機能が 多そうです。
設計段階の一読して 漏れが ないか 確認するのが 良いかと 思いました。 達成基準なので、
実装方法に ついては 明記されていない
達成基準なので、実装方法に ついては 明記されていません。
WCAG 2.0 達成方法集 が具体的実装方法に ついて 記載されていますが、
システムで採用している プログラミング言語、 フレームワークで バリエーションは 無数に あるので、 その 都度、 実装方法は 検討する 必要が あります。 ユーザリティ向上に
サーバーサイドエンジニアが 寄与できる
アクセシビリティを向上させると、 ユーザビリティも 向上する 場合が あります。
ユーザビリティ はUI/UX デザイナーの ものだと 個人的には 思いますが、 その 部分を サーバーサイドから サポートできるのは 良いかなと 思います。
A11YJ で
この
以上です。
コメント