アクセシビリティの高いウェブ アプリケーションの設計は、優れたユーザー エクスペリエンスとアプリケーションの全体的なユーザー満足度を実現するための重要な要素です。アクセシビリティの高いウェブ アプリケーションにより、さまざまな能力を持つ人々や、さまざまな地理的位置にいる人々が、平等にアクセスできます。聴覚、認知、発話、視覚に関する制限があり、短期的な障害、インターネット接続が遅い、強い日光の下でも一時的な制限があるユーザーは、ウェブ アプリケーションにアクセスできます。ウェブ アプリケーションのフロントエンドを構築する際は、最初からユーザー補助ソリューションを利用して、ユーザー補助の問題や、ビルドプロセス中に作業をやり直す必要が生じないようにします。アプリケーション コンテンツをウェブクローラやスクリーン リーダーで走査できるようにして、優れたユーザー エクスペリエンスを提供します。
ユーザー補助は、多くの国と業界で法的義務を負っています。ガイドラインを理解し、ユーザー補助ソリューションをフロントエンドの設計に組み込む必要があります。ウェブ コンテンツのユーザー補助機能の重要性も、さまざまなビジネスケースで明らかになっています。
MDN や WCAG などのリソースは、ウェブ アプリケーションのユーザー補助機能を強化するための重要なガイドラインや提案を提供します。また、web.dev のユーザー補助について学ぶコースを受講することもできます。
さまざまなコンポーネント間の相互依存関係は、多様なユーザーがウェブ アプリケーションにアクセスできるようにするうえで不可欠な要素です。
色とコントラスト
色の使用は、ウェブ アプリケーションのユーザー補助機能を評価する際の主な要素です。フロントエンド ユーザーがページのコンテンツを認識できるようにする必要があります。また、色やコントラストによって、ユーザーのコンテンツに対する認識に大きな影響を与える必要があります。視覚状態、視力に関連する障害には、一時的、状況的、または永続的な場合がありますが、ウェブ アプリケーションのフロントエンドを作成するときに考慮する必要があります。ユーザー向けインターフェースで使用する色のコントラストや明るさを適切に調整することで、さまざまなユーザーがウェブアプリを利用しやすくなります。コントラスト比により、背景とテキストの明るさの差が決まります。
コントラストを測定するには、コントラスト比の式を使用して、背景のテキストまたはアイコンに最小コントラストが存在することを確認します。検討すべき色覚障がいにはさまざまな形態がありますが、新しいカラーモデルを使用すれば、グレースケールで表示された場合でもコンテンツを正しく認識できます。
ユーザー補助のために色とコントラストをサポートするために、ダークモードを使用することをおすすめします。ダークテーマは、白色光や読みにくいことから、視覚的な入力にはよく使用されています。コンテンツ駆動型アプリケーションには大量のテキストや画像が含まれるため、ユーザーの多様なニーズを満たすために、色とコントラスト比を賢く使用することが重要です。
タイポグラフィ
タイポグラフィとは、さまざまなユーザーが読みやすい、読みやすいテキストの選択と配置のことです。ユーザー補助設定で最も変更される点の一つは、デバイスのデフォルトのフォントサイズです。ユーザーによっては、小さなフォントサイズでより多くのテキストを表示したい場合や、テキストをできる限り大きくしたい場合もあるため、タイポグラフィのサイズを柔軟で読みやすいものにすることが重要です。また、個々のテキストの文字を読者が区別できるようにし、テキスト全体が読み取れるようにする必要があります。アプリケーションのフロントエンドを設計する際は、読みやすさと読みやすさを兼ね備えた書体を選択してください。
書体
ウェブ アプリケーションに使用する書体(またはフォント ファミリー)は、幅広いユーザーが視覚的に確認できるようにする必要があります。書体とは、アプリのテキストで使用される文字を視覚的にデザインしたものです。多くの研究で、ウェブ コンテンツのユーザー補助機能を評価する際の書体の重要性が説明されています。ブランド、ユーザー インターフェースの設計目標、読みやすさの間で適切なバランスを見つけることで、幅広いユーザーがアプリをより楽しめるようになります。フロントエンドを構築する際は、書体オプションとその中のフォント オプションが、アプリケーションのユーザー補助機能と全体的な設計にどのように役立つかを考慮してください。
フォントサイズ
ロービジョンまたは色覚に障がいのあるユーザーをサポートできるように、ブラウザのズームを許可することを検討してください。ウェブ アプリケーションに表示されるテキストのフォントは、多様なユーザーに見えるようにする必要があります。フォントサイズをバリエーションするには、px
から rem
に切り替えます。Rem ユニットでは、Wep アプリケーションのルート要素に相対したフォントサイズを使用できます。これは、ウェブアプリの全体的なアクセシビリティを向上させるための汎用的なオプションです。
構造とレイアウト
構造やレイアウトのさまざまなプロパティが、インターフェースのユーザー補助機能に影響します。考慮すべきレイアウト機能には、テキスト ブロックの間隔と配置、テキスト行と個々の文字の間のスペースなどがあります。グリッドを利用して、設計に含めるコンポーネントを視覚化します。コンテンツのレイアウトと構造は、ユーザーが魅力的で楽しめるものであるべきです。複雑なレイアウトや、複数のテキスト ブロックがあり、背景が雑然としている場合、ADHD のユーザーなどでは使用しにくい場合があります。フロントエンドの設計プロセスでは、包括性を優先してください。
ARIA と HTML
Accessible Rich Internet Applications(ARIA)には、ユーザーがウェブ アプリケーションを利用しやすくするためのガイドラインと属性のセットが含まれています。ARIA は、HTML を補完するもので、アクセス可能な JavaScript ウィジェット、ライブ コンテンツ更新、エラー メッセージなどを可能にします。ウェブ アプリケーションをよりアクセスしやすくするためには、ARIA を正しく使用することが重要です。ARIA を誤って使用すると、エラーが発生し、ユーザーがアプリケーションにアクセスできなくなる可能性があります。
点字とテキスト読み上げ(TTS)に対応している代替形式を導入する際は、可能であれば ARIA ラベルを使用してください。ARIA のロールとラベルを使用すると、アクセス ツリーが dom ツリーと異なる場合にユーザー補助ツリーを変更できます。これらのラベルは、クリック可能なボタンとして使用される div
などの標準以外のタグを使用する場合にも重要です。HTML 要素がユーザー補助機能をサポートしていない場合は、ARIA が必要です。コンテンツ主導型アプリケーションを設計する際は、できる限り多くのユーザーがアプリケーションにアクセスできるように、スクリーン リーダーなどの支援デバイスが適切にサポートされるようにしてください。
多言語対応
国際化とは、言語や文化の異なるさまざまなユーザーがアクセスできるようにウェブ アプリケーションを設計することです。ウェブアプリは、コードを大幅に変更することなく、さまざまな言語、地域、文化の好みに適応できる必要があります。多言語化の主な要素には、多言語サポート、ローカライズ、コンテンツ分離、日付と時刻の書式設定、テキスト方向、言語の交渉などがあります。
ウェブ アプリケーションを国際化することで、世界中の幅広いユーザーがインクルーシブで使いやすいエクスペリエンスを実現できます。ユーザーベースが多様で、国際化が目標であるウェブアプリには、多言語化が不可欠です。
論理プロパティ
CSS でスタイルを作成する場合は、top
/ down
/ left
/ right
などのプロパティではなく、start
/ end
を使用してください。これにより、RTL 言語に合わせてメニューとサイトのレイアウトが変更されます。
代替コンテンツ
HTML タグに lang
属性を追加し、代替ドキュメントへのリンクをヘッダーに含めて、コンテンツにカスタム マークアップを提供します。これにより、定義済みの言語がデフォルトのブラウザの言語と異なる場合でも、ブラウザで正しいページを選択できます。これにより、ウェブブラウザや検索エンジンがページの言語を認識できるようになります。これは、コンテンツを正しくレンダリングし、効果的な SEO のために重要です。
国際
JavaScript の Intl
オブジェクトは、多言語に対応し、文化に配慮したウェブ アプリケーションを作成するための重要なツールです。ウェブ アプリケーションに国際化機能とローカライズ機能を提供し、世界中のユーザーにわかりやすいインターフェースとコンテンツを提供できるようにします。Intl オブジェクトによって提供される機能には、日付と時刻の書式設定、数値の書式設定、文字列の照合順序などがあります。
フォーム
HTML フォームは、コンテンツ主導のウェブ アプリケーションに不可欠な要素です。ユーザー インタラクションを可能にし、ユーザー情報を収集するための構造化された方法を提供します。HTML フォームが多くのユーザーが利用できない場合、ユーザーの不満や不満につながる可能性があります。
HTML フォームを利用できるようにするには、すべてのフォーム フィールドにセマンティック HTML 要素を使用します。これにより、支援技術が各フィールドの目的を理解しやすくなり、ユーザーが各フィールドを簡単に入力できるようになります。また、すべてのフォーム項目にわかりやすいラベルを付けてください。これにより、ユーザーは正確で有用な情報を提供できるようになります。HTML フォームのユーザー補助機能をテストすることも重要です。このテストでは、支援技術を使用して、アプリケーションのコンテンツを消費するユーザー エクスペリエンスをシミュレートできます。