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

スペースを入れて文字の間をあけた項目名や見出し

お問合せフォームが項目名を全角スペースで4文字幅にそろえているため、スクリーンリーダーには「氏  名」が1字ずつ別の語として渡ってしまう

WCAG 2.2
SC 1.3.2A
必須とする規格
Section 508 · EN 301 549(EU) · JIS X 8341-3
問題あり <label for="name">氏  名</label>
アクセシビリティの問題を示した図: 全盲:何を入れる欄?
01

問題

スクリーンリーダーの利用者には、字間をあけた項目名や見出しが1字ずつ届き、別の読み方で読まれることもあるため、欄に何を入れるのか分からなくなる

02

試してみる

画面のフォームと、各項目名からスクリーンリーダーに渡る語を見比べてみましょう

「入力したスペースを表示」をオンにすると、語の中に入力したスペースに印が付きます。フォームの下には、スクリーンリーダーが区切る位置で分けた見出しと項目名が出ます。続けて修正をそれぞれ適用し、見た目が変わるかどうか、どの項目名も一つの語になっているかを確認してください。

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

問題入力したスペースで字間をあけた項目名と見出し

お 問 合 せ

スクリーンリーダーが語を区切る位置(スペース)で分けると:

  • 見出し お問合せ 4語
  • ラベル 氏名 2語
  • ラベル 住所 2語
  • ラベル 電話番号 1語

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

03

修正方法

スペースを消し、字間はCSSであける

修正前
問題入力したスペースで字間をあけた項目名と見出し
<h2>お 問 合 せ</h2><form class="contact">  <label for="name">氏  名</label>  <input id="name" name="name" autocomplete="name">  <label for="address">住  所</label>  <input id="address" name="address" autocomplete="street-address">  <label for="tel">電話番号</label>  <input id="tel" name="tel" type="tel" autocomplete="tel"></form>
問題点3点
  • 「氏」と「名」、「住」と「所」の間に全角スペースを2つずつ入力し、「電話番号」と同じ幅にしています。
  • 見出しは、1字ごとに半角スペースを入れています。
  • そのため、スクリーンリーダーには「氏」と「名」、「住」と「所」、「お」「問」「合」「せ」が、それぞれ別の語として渡ります。
修正後

スペースを消し、字間をCSSであける

<h2 class="form-title">お問合せ</h2><form class="contact">  <label for="name">氏名</label>  <input id="name" name="name" autocomplete="name">  <label for="address">住所</label>  <input id="address" name="address" autocomplete="street-address">  <label for="tel">電話番号</label>  <input id="tel" name="tel" type="tel" autocomplete="tel"></form>
修正の手順3ステップ
  1. 語の中のスペースを消し、「氏名」「住所」「お問合せ」にします。どれも一つの語としてスクリーンリーダーに渡ります。
  2. 項目名を text-align-last: justify で広げます。グリッドの列は最も長い「電話番号」の幅になるため、「氏名」と「住所」はスペースがあったときと同じようにその幅に広がり、テキストに合わせて保守する幅の指定もいりません。
  3. 見出しの字間を letter-spacing であけます。間隔はCSSが描くため、テキストは「お問合せ」のままです。

これで修正前の例は直り、達成方法C8のとおり1.3.2を満たします。見た目も変わりません。ブラウザーが項目名を広げない場合は、次の修正と同じく列の先頭に寄りますが、基準は満たしたままです。

04

修正の確認

3項目、マウス不要

確認方法: スクリーンリーダー

3件中0件を確認済み

OS、ブラウザーと支援技術のバージョン、ビルド、実施日、各手順の実際の結果を記録してください。フォームやその内容を変更した際は、再度確認します。

制限

このサンプルは、どのアプリケーションでも同じ結果になることを保証するものではありません。対象は、短いフォームとその見出しです。1字だけの漢字をどう読むかは、スクリーンリーダー、その辞書、音声エンジンによって異なり、このガイドではどれも試していません。文字をつなげて一つの語として読むものもあるかもしれません。スペースで列をそろえたテキストも同じように問題になり、見た目と食い違う読み上げ順序で列の順序とあわせて触れています。PDFなどの文書には字間を整える独自の方法があり、別に確認が必要です。

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

EaseWebのサービス

修正した問題を、次のリリースで再発させない

このガイドのような修正方法を、コーディングエージェントが従うルールと、CIのチェックに組み込みます。あわせて定期的に、キーボードとスクリーンリーダーで手動の再テストを行います。

サービス内容を見る