WCAG 2.2 ガイドライン「3.3.9 アクセシブル認証(拡張)」Level AAA について
はじめに
WCAG 2.2の「3.3.9 アクセシブル認証(拡張)」は、認証プロセスが認知的負担を最小限に抑えることを求めています。この基準は、ユーザーがパスワードを記憶したり、複雑なパズルを解いたりする必要がないように設計された認証プロセスを推奨します。
1. 基準の概要
要件
認証プロセスのいかなるステップでも、記憶や問題解決といった認知機能を必要としない仕組みを提供します。ただし、次の条件を満たす場合は例外とされます:
- 代替手段の提供
- 認知機能に依存しない別の認証方法を提供する。
- 支援機能の提供
- ユーザーが認知機能を使用するステップを補助する仕組みを提供する。
例外の具体例
- パスワードを記憶しなくてもよいメールリンク認証
- パスワードマネージャーの利用可能性
- WebAuthnなどの認証方法
2. 実装方法
a. 認知的負担の少ない認証方法を提供
例1: メールリンク認証
ユーザーがメールリンクをクリックするだけで認証を完了できるシンプルな方法。
<form action="/send-auth-link" method="POST">
<label for="email">メールアドレス:</label>
<input type="email" id="email" name="email" required>
<button type="submit">認証リンクを送信</button>
</form>
例2: WebAuthn
WebAuthnを利用して、指紋認証やセキュリティキーで認証する仕組みを提供します。これにより、ユーザーはパスワードを覚える必要がありません。
例3: OAuthを使用したログイン
GoogleやFacebookなどのOAuthを利用して、ユーザーがパスワードを入力することなく認証できる仕組み。
<button onclick="loginWithGoogle()">Googleでログイン</button>
<button onclick="loginWithFacebook()">Facebookでログイン</button>
b. 支援機能を提供
例1: パスワードマネージャー対応
フォームに適切なマークアップを施し、パスワードマネージャーが正確に動作するようにします。
<form action="/login" method="POST">
<label for="username">ユーザー名:</label>
<input type="text" id="username" name="username" autocomplete="username" required><br>
<label for="password">パスワード:</label>
<input type="password" id="password" name="password" autocomplete="current-password" required><br>
<button type="submit">ログイン</button>
</form>
例2: コピーペーストの許可
パスワードを簡単にコピーペーストできるようにし、ユーザーの手間を減らします。
c. 二要素認証の活用
認証プロセスに複数の手段を導入し、ユーザーが選択できるようにします。
- 例: パスワードとSMSコードの併用、またはセキュリティキーとPINコードの併用。
3. アクセシビリティのメリット
a. 負担の軽減
- ユーザーはパスワードを覚える必要がなく、認証プロセスが簡単になります。
b. 利用者層の拡大
- 認知障害や記憶障害を持つユーザー、高齢者にも適した認証方法を提供できます。
c. セキュリティの向上
- 簡便な方法でありながら、セキュリティを損なわない認証手段を導入できます。
4. よくある失敗例とその改善策
a. パスワードの記憶を強制
失敗例
- 複雑なパスワードを要求し、再入力を求める。
改善策
- メールリンクやOAuthを使用した認証方法を提供します。
b. 認証ステップが複雑
失敗例
- CAPTCHAやパズルが必要。
改善策
- CAPTCHAの代わりに画像認識やメール認証を導入します。
5. テスト方法
a. 手動テスト
- 認証プロセスを通じて、記憶や問題解決を必要としないか確認します。
- パスワードマネージャーやOAuthが正常に機能するか確認します。
b. 自動テストツール
- AxeやWAVEを使用して、フォームのマークアップや支援機能の実装が正確であることを検証します。
まとめ
WCAG 2.2の「3.3.9 アクセシブル認証(拡張)」は、認証プロセスをすべてのユーザーが簡単かつ安全に利用できるように設計するための重要な基準です。
実装ポイント
- 記憶や問題解決が不要な認証方法を提供する。
- パスワードマネージャーやコピー・ペーストをサポートする。
- 二要素認証やOAuthを活用する。
これにより、ユーザーは負担を感じることなく、認証を迅速かつ安全に完了できるようになります。
当社では、ウェブアクセシビリティを簡単に導入できるUUU ウェブアクセシビリティをリリースしております。アクセシビリティ向上にご興味がある方はぜひ詳細をご覧ください。