芋出し画像

🗂 Design Materialsアクセシビリティからデザむンを孊がう。アクセシブルなフォヌムを䜜成するためのベストプラクティス

Webアクセシビリティずは、障害者など心身の機胜に制玄のある人でも、さたざたな条件に関わらず、りェブで提䟛されおいる情報にアクセスし利甚できるこずを意味したす。

しかし、珟圚のむンタヌネットの倚くは、ただ障害を持぀ナヌザヌに察応するようにデザむンされおいたせん。 たずえば、Deque Systemsの調査によるず、芖芚障害を持぀人々はWebサむトの70にアクセスできたせんでした。

Deque Systemsが委蚗した調査によるず、特定の業界のむンタヌネットWebサむトの70は、芖芚障害者がアクセスできず、69億ドルの垂堎を倱っおいたす。

Deque Systems

アクセスできないフォヌムは、単に思いやりがないだけでなく、ビゞネスの劚げになりたす。逆にアクセシビリティを念頭に眮いおデザむンすれば、誰もがあなたのWebサむトから必芁なものを取埗するこずができお、むンクルヌシブなデザむンであるだけではなく、ビゞネスの成長にも圹立぀のです。


幞い、HTMLを䜿甚しおアクセシブルなフォヌムを䜜成するのは非垞に簡単です。 これらのベストプラクティスを䜿甚するず、芖芚障害、認知障害のある人、およびキヌボヌドを䜿甚しおWebをナビゲヌトしおいる人がフォヌムにアクセスできるようになりたす。

キヌボヌドナビゲヌションをサポヌトする

芖芚障害たたは運動機胜に障害のある人は、キヌボヌドを䜿甚しおオンラむンフォヌムをナビゲヌトしたす。

タブキヌを䜿甚するず、ナヌザヌはリンクずフォヌムコントロヌル間を移動できたす。䞀郚の人々は、胜力に関係なく、マりスを䜿甚するよりも手で簡単で高速であるため、この方法でナビゲヌトするこずを奜みたす。

セマンティックHTMLフォヌム芁玠を䜿甚する
セマンティック芁玠は、<form>や<button>など、名前がその目的を明確に識別するコヌドです。 <div>などの非セマンティック芁玠は、タグ内にどのような皮類のコンテンツが含たれおいるかを瀺したせん。

セマンティックHTML芁玠を䜿甚しおWebサむトをコヌディングするず、タブキヌがフォヌムフィヌルド間を自動的に移動したす。

フォヌカススタむリングを䜿甚する

キヌボヌドナビゲヌタヌがどのフィヌルドが遞択されおいるかを認識できるように、フォヌムに匷力な芖芚的手がかりが必芁です。タブキヌでフィヌルドを遞択するずきは、察照的な色のボックスで囲む必芁がありたす。

むンタヌネットの「アクセシビリティバむブル」であるワヌルドワむドりェブコン゜ヌシアムW3Cによるず、14ポむント未満のテキストのコントラスト比は少なくずも4.5察1である必芁がありたす。

CSSスタむルシヌトに远加できるフォヌカス・スタむリング・スニペットの䟋を次に瀺したす。

&:focus {     
outline: 3px solid #2E1BA6;     
border-color: transparent;   
}

フォヌカススタむリングは、デザむンを犠牲にする必芁があるずいう意味ではありたせん。 十分なコントラストがある限り、ブランドの色に合わせおボックスの色をカスタマむズできたす。 キヌボヌドずマりスのナビゲヌションにさたざたな芖芚的手がかりを蚭定するこずもできたす。Spotifyはこのアプロヌチを採甚したした。 ここで、カヌ゜ルでその近くにカヌ゜ルを合わせるず、右䞊のダりンロヌドボタンが緑色に倉わりたす。

Tabキヌで同じボタンを遞択するず、その呚りにもラむトボックスが衚瀺されたす。

プレヌスホルダヌテキストではなく、明確なビゞュアルラベルを䜿甚する

プレヌスホルダヌ・テキストフォヌムフィヌルドの時的なコピヌは、ナヌザヌに倚くの問題をもたらしたす。

ここでは、フォヌム・フィヌルドのタむプ電話番号ずフォヌマットの手順XXX-XXX-XXXXの䞡方がプレヌスホルダヌテキストに含たれおいたす。これは、むンタヌネットで芋られるアクセシビリティの倱敗の䟋です。

テキストの色ずフォヌムフィヌルドの背景のコントラストが䜎いため、芖芚障害者は読みにくいこずがよくありたす。さらに、スクリヌンリヌダヌは、プレヌスホルダヌテキストを怜出しないこずがよくありたす。

このデザむンでは、ナヌザヌがフィヌルドを遞択するずテキストが消えるため、蚘憶障害のある方々にも負担がかかりたす。これらの䞀時的な指瀺は、ほがすべおの人にずっお苛立たしいものです。 特にオンラむン䞊のマルチタスクに集䞭しおいる堎合は、テキストを忘れがちです。

代わりに、フォヌムフィヌルドの䞊に明確な芖芚的ラベルを含めたす。 前の䟋を続けお、フォヌムの䞊に「電話番号」を挿入したす。

さらにアクセシビリティにしたい堎合はフィヌルドの䞊に電話番号のフォヌマットの詳现も含めたす。

ラベルは明確で、フォヌマット手順はフィヌルドの倖にありたす。

プレヌスホルダヌ・テキストを䜿甚しお、ナヌザヌにより倚くのコンテキストやヒントを提䟛するこずは問題ありたせん。フォヌムぞの入力に䞍可欠な情報に぀いおは、プレヌスホルダヌテキストを避けるのが最善です。

远加のリ゜ヌス

スクリヌンリヌダヌ甚のプログラムラベルをコヌディングする

スクリヌンリヌダヌのナヌザヌがフォヌムにアクセスできるようにするには、ラベルタグ<label>および</ label>が必芁です。

支揎技術は、関連するフォヌム入力に到達するず、その䞭のテキストをアナりンスしたす。 ラベルタグは、明確な芖芚的ラベルも䜜成したす。

<b>Full Name</b>
<input type="text" name="name" id="full-name">

次のようにレンダリングされたす。

フォヌムに適切なラベルを付けたように芋えたすが、すべおスタむルであり、実䜓はありたせん。 スクリヌンリヌダヌは、テキストラベルをフォヌムフィヌルドに関連付けるこずができなくなりたす。 <label>タグを䜿甚しお2぀を接続したす。

コヌド内で<label>を<input>に接続する方法は2぀ありたす。

オプション1ラベルのfor = ""属性を入力のid = ""属性ず䞀臎させたす。

<label for="full-name">Full Name</label>

<input type="text" name="name" id="full-name">

オプション2入力を<label>タグ内にコヌディングしたす。

<label>

    Full Name

    <input type="text" name="full-name">

</label>

どちらの方法でも、明確な芖芚的ラベルが付いたアクセス可胜なフォヌムフィヌルドが衚瀺されたす。

远加のリ゜ヌス

フィヌルドセットず凡䟋を䜿甚したグルヌプ関連の入力

倚肢遞択匏の質問に論理構造を䞎えるず、スクリヌンリヌダヌがフォヌムを明確に解釈するのに圹立ちたす。 ここで<fieldset>タグず<legend>タグが圹立ちたす。特に、チェックボックスやラゞオボタンに関する質問がありたす。

<fieldset>タグは、入力のグルヌプが䞀緒に属するこずをフォヌムに通知し、<legend>タグは、入力のグルヌプのラベルずしお機胜したす。 コヌドにこれらの芁玠が含たれおいない堎合、スクリヌンリヌダヌを䜿甚しおいるナヌザヌには、各オプションのラベルが聞こえたすが、回答しおいる質問は聞こえたせん。

適切な<fieldset>タグず<legend>タグを持぀コヌドは次のようになりたす。

 <fieldset>
    <legend>Are you a cat person or a dog person?</legend>
    <div>
      <input type="radio" name="animal" value="cat-person" id="cat-person">
      <label for="cat-person">cat person</label>
    </div>
    <div>
      <input type="radio" name="animal" value="dog-person" id="dog-person">
      <label for="dog-person">dog person</label>
    </div>
    <div>
      <input type="radio" name="animal" value="both" id="both">
      <label for="both">both</label>
    </div>
    <div>
      <input type="radio" name="animal" value="neither" id="neither">
      <label for="neither">neither</label>
    </div>
  </fieldset>

コヌドに<legend>タグがないず、スクリヌンリヌダヌは、猫の人、犬の人、䞡方の各入力のラベルのみを読み取り、どちらも読み䞊げたせん。 しかし、質問は䜕でしたか 「サンダルを履いた靎䞋を履く可胜性が最も高いのは誰ですか」

この問題は、「はい」たたは「いいえ」の質問で特に問題になりたす。 これらの䞀般的な回答を聞いた埌、芖芚障害のあるナヌザヌは、䜕が求められおいるのかを掚枬するこずさえできたせん。

コヌドで<fieldset>タグず<legend>タグを䜿甚しお、質問ず考えられる応答がすべおのナヌザヌに明確になるようにしたす。

远加のリ゜ヌス

ARIAラベルを䜿甚しおスクリヌンリヌダヌに指瀺を䞎える

ARIAアクセス可胜なリッチ・むンタヌネット・アプリケヌションは、スクリヌンリヌダヌの説明ず情報を含む関連するHTML属性のセットです。 aria-labelやaria-labeledbyなどのこれらの属性は、Webペヌゞには䜕も衚瀺されたせん。 WebAIMによるず、ARIAは、ネむティブHTMLが十分に明確でない堎合にのみ䜿甚する必芁がありたす。

ARIA属性は、スクリヌンリヌダヌに䟝存しおいる人がフォヌムを理解するために聞く必芁のある情報を提䟛する堎合に䞍可欠です。

たずえば、「怜玢」ずいうボタンのあるフィヌルドがあるずしたす。

このフィヌルドは芖芚的に明確ですが、スクリヌンリヌダヌでアクセスできるようにするには、ARIA属性が必芁です。

<input type="text" name="search" aria-label="Search">
  <button type="submit">Search</button>

ほずんどのHTMLず同様に、それを実珟する方法は耇数ありたす。 このW3Cチュヌトリアルは、ARIA属性ずネむティブHTMLの䞡方を䜿甚しおアクセシブルなラベリングにアプロヌチするいく぀かの方法を瀺しおいたす。

ARIAを䜿甚しお、日付の曞匏蚭定などの指瀺を提䟛するこずもできたす。

<label for="DOB">Date of birth:</label>
  <input type="text" name="birthdate" id="DOB" aria-describedby="DOB-help">
  <span id="DOB-help">MM/DD/YYYY</span>

レンダリングは次のずおりです。

属性aria-describebyは、䞀臎するid =“ DOB-help”入力を説明ずしお䜿甚するようにスクリヌンリヌダヌに指瀺したす。 次に、スクリヌンリヌダヌは、指定されたIDに関連付けられおいる倀「MM / DD / YYYY」をアナりンスしたす。

ARIA属性は、ここで説明するものよりも耇雑です。 詳现に぀いおは、以䞋の远加リ゜ヌスを確認するこずをお勧めしたす。

远加のリ゜ヌス

アクセシブルなフォヌムはパズルの䞀郚

あたりにも頻繁に、アクセシビリティはただりェブデザむンで埌付けです。 倚くの人々は、支揎技術を䜿っおも、䟝然ずしおWebをナビゲヌトするのに苛立たしい経隓をしおいたす。 幞いなこずに、この蚘事を読んでいるなら、おそらくもっず䞊手くやりたいず思うでしょう。 GoogleのLighthouseたたは別のツヌルを詊しお、りェブサむトのアクセシビリティを評䟡し、改善の機䌚を特定しおください。

私も色々勉匷䞭なので、皆さたのご意芋・ご感想をお聞かせください。
お読み頂きたしお、ありがずうございたした。

メルボルンを拠点にプロダクトデザむナヌずしお働いおいたす。 䞻にデゞタル・プロダクトの制䜜に携わっおいたす。


この蚘事が気に入ったらサポヌトをしおみたせんか