本文へ移動
easeweb
ご相談
トピックを検索

貼り付けられないワンタイムコードの入力欄

ログインの手順で6桁のコードを1文字ずつの6つの欄で求めるため、テキストメッセージからコードを貼り付けても最初の1桁しか入りません。

WCAG 2.2
SC 3.3.8AA· 2.2 で追加SC 2.1.1A
必須とする規格
Section 508 · EN 301 549(EU) · JIS X 8341-3
問題あり <input inputmode="numeric" maxlength="1">
アクセシビリティの問題を示した図: 認知:なぜ4しか入らないの?
01

問題

6桁を覚えておくことや、1桁ずつ打つことが難しい人が、ある画面のコードを読んで別の画面に打ち直すことになります。

02

試してみる

スマートフォンの「コードをコピー」を押し、Ctrl+Vかコンテキストメニューで、ログインのページにコードを貼り付けてください。

ウィンドウの下の欄に、入った内容が出ます。ここでコピーできない場合は、メッセージのコードを選択して自分でコピーしてください。

問題あり 修正できますか?

メッセージ

Larkspurの確認コード: 481902

ご本人の確認

スマートフォンに送った6桁のコードを入力してください

入った内容: ······

再現デモです。「問題あり」は意図的にアクセシブルでない状態にしています。

03

修正方法

コードを丸ごと受け取ります。1つの欄にするか、貼り付けたコードを各欄に分けます。

  1. 1貼り付け、自動入力、音声入力したコードが、一度で全部入るようにする。
  2. 2貼り付けを取り消さず、コードの欄に maxlength="1" を付けない。
  3. 3最後の桁が入ったときではなく、ボタンが押されたときにコードを送る。
修正前 1文字ずつの6つの欄
<p id="code-label">Enter the 6-digit code we sent to your phone</p><div class="code-boxes" role="group" aria-labelledby="code-label">  <input inputmode="numeric" maxlength="1" aria-label="Digit 1">  <input inputmode="numeric" maxlength="1" aria-label="Digit 2">  <input inputmode="numeric" maxlength="1" aria-label="Digit 3">  <input inputmode="numeric" maxlength="1" aria-label="Digit 4">  <input inputmode="numeric" maxlength="1" aria-label="Digit 5">  <input inputmode="numeric" maxlength="1" aria-label="Digit 6"></div>
修正後

コード全体を受け取る1つの欄

<label for="code">Security code</label><p id="code-hint">We sent a 6-digit code to your phone. It works for 15 minutes.</p><input id="code" name="code" type="text" inputmode="numeric"  autocomplete="one-time-code" spellcheck="false" aria-describedby="code-hint"><button type="submit">Continue</button>

AI コーディングアシスタントで修正しますか? このガイドを Markdown で取得、または全ガイドをコーディングエージェントで使う。

04

修正の確認

マウスを使わない5つの確認

確認方法: キーボード、スクリーンリーダー、タッチ、自動入力、音声入力

5件中0件を確認済み

OS、ブラウザーと支援技術のバージョン、ビルド、実施日、各手順の実際の結果を記録してください。ログインの流れやコードの部品を変更した際は、再度確認します。

制限

このサンプルは、どのログインでも同じ結果になることを保証するものではありません。例はテキストメッセージで送るコードです。認証アプリやメールのコードも、同じように貼り付けを確かめてください。この基準は、コードを送る経路を指定していません。ログインする端末にコードが届くかどうかも対象外です。貼り付けを拒むパスワード欄や解かせるパズルなど、ログインのほかの部分も同じ基準の対象です。利用者が頼る人や道具と一緒に、ログイン全体を確認してください。

よくある問題を再現した学習用のサンプルです。実在のクライアントの診断結果ではありません。コードは出発点となる実装例のため、実際の製品でも確認してください。ここでは支援技術でのテスト結果は報告していません。

コードを更新しても、使いやすさを保つために

ガイドの内容を、コーディングエージェントやCIで使える開発ルールにまとめます。更新後は、キーボードとスクリーンリーダーで再テストし、問題が再発していないか確認します。

再テストの進め方