要求に応じてコンテンツを表示する、キーボード操作に対応した単一のパネルから始めましょう。 トリガーは、aria-expanded、aria-controls、および目に見えるフォーカスリングを備えた実際のボタンである必要があります。コンテンツ領域は、role="region"とリンク先のidを持つ必要があります。開いたら、閉じる際にフォーカスをトリガーに戻し、スクリーンリーダー用に短いライブリージョンアップデートを提供します。

構造を浅く保ち、深いネストを避けてください。すべてのインタラクティブな要素にテキストラベルがあることを確認し、繰り返されるコントロールのスキップターゲットを提供します。CSSを使用して状態を示しますが、ARIA属性を使用して状態を支援技術に伝えます。キーボード、スクリーンリーダー、および色のコントラストチェックでテストします。フォーカス順序が視覚的な順序と一致し、スタイルが失敗した場合でも操作が機能することを確認します。

テーマの例では、シーンはルイを、ダイニングスペースと広大なパネルの配列を見ている彫像で呼び起こします。2月イベントに、特定のプライベートツアーが到着します。次に他の参加者が参加し、コンテンツには大工のワークショップからのいくつかの作品含まれており日付ビーチャー家のアイテムの珍しいコレクションがリストされており、壊れたリンクの修復が必要です。この物語は、の時間とイベント中にリビールアンドハイドシステムを操作するユーザーの状態変化についてデザイナーに知らせるフォーカスをどこに置くかを定義するのに役立ちます。

メニューを開く、メニューを閉じる:アクセシビリティに焦点を当てたナビゲーションUIガイド

キーボード優先のトグルを実装して、ドロワーを表示し、表示中はフォーカスを固定します。キーボードとマウスで操作し、トリガーにはラベルが付けられ、aria-expandedはすべての条件下で状態を反映します。

テキストまたはアクセス可能な代替手段でコントロールにラベルを付けます。ユーザーは要素にフォーカスが当たっているときにアクションを知っている必要があります。

テーマは、大理石の廊下とフレスコ画のある邸宅に触発され、自然で実用的であると感じられるはずですが、タワー、家、およびプライベートセクションで機能する必要があります。

5つのコアルートとデバイス全体で利用できるようにします。特別な制限のあるページを除き、訪問ごとに一貫した動作を維持します。

フォーカスの管理:オフにすると、フォーカスをトグルに直接戻します。ユーザーが投稿をナビゲートする場合、戻るときにフォーカスがトリガーに当たるようにします。

5つの投稿に関するインサイダーチームによるガイド付きテストでは、安定したボリュームベースのアイテム順序が確認されています。キーボードとスクリーンリーダーの互換性の簡単なチェックを含めます。

デザインのリズム:アイテムリストを駅の列車のセットのように扱います。シーケンシャルで予測可能で、ボリュームが到着するにつれて追跡しやすい。

ベストプラクティスでは、設計されたセマンティクスと構築されたマークアップを使用します。トピックごとにグループ化し、アイテムを短く保ち、深いネストを避けます。

紙のガイドラインとプライベートドキュメントでは、機能の操作方法について説明しています。直接的なフィードバックと透明なステータスインジケーターを確保します。

まもなく、監査では建物と訪問全体で一貫性を測定する必要があります。一貫性のあるパターンを構築し、直接保守しやすくなります。

側面実装根拠
フォーカス動作表示中はドロワー内にフォーカスを固定します。非表示にするとトリガーに戻しますキーボードユーザーの方向性を維持します
ラベリング明確な表示ラベル。テキスト以外のラベルにはaria-labelを提供します支援技術はアクションを理解します
状態フィードバックaria-expandedは現在の状態を反映します。モーションの低減設定を尊重します信頼性の高い手がかりと包括性
一貫性安定したトリガー位置。5つのレイアウト全体で一貫したアイテム順序認知負荷を軽減します
コンテンツの整理見出しの下にリンクをグループ化します。グループを5〜7ボリュームに保ちますスキャンが容易になります
プライバシーデフォルトでプライベートセクションを開示することを避けます。機密性の高いページにはオプトアウトを提供しますプライバシーとコントロール

トリガーの仕組み:キーボードでアクセス可能な開閉、ARIA-Expanded、およびフォーカスリングの動作

推奨事項:aria-expandedおよびaria-controlsを介してパネルを表示または非表示にする、キーボードフレンドリーな単一のトグルを実装します。永続的なフォーカスリングとEnter/Spaceアクティベーションを使用します。Escapeキーを押すとフォーカスがトリガーに戻り、パネルが非表示になります。パネルにラベルが付けられ、非表示になっているときはコンテンツにフォーカスできないようにします。

  1. セマンティクス:実際のボタン要素またはrole="button"をaria-expanded="true|false"およびパネルのidを参照するaria-controlsで使用します。スクリーンリーダーの状態を反映するようにアクセス可能なラベルを更新します。
  2. キーボード:Tabキーを押してトリガーに到達し、Enter/Spaceキーを押して切り替え、Escapeキーを押して折りたたむことを有効にします。展開中はパネル内でフォーカスを固定し、折りたたむときにフォーカスをトリガーに戻します。
  3. フォーカスリング::focus-visibleを介して目に見えるフォーカスインジケーターを適用し、堅牢なアウトラインまたは高コントラストの代替を維持し、ユーザーがキーボードでナビゲートするときに削除することを避けます。
  4. モーションと期間:デフォルトで展開期間を約120〜180ミリ秒に保ち、prefers-reduced-motionを尊重し、スムーズなフィードバックのために高さよりも変換ベースのトランジションを優先します。
  5. ARIA状態管理:パネルの表示と同期してaria-expandedを切り替えます。折りたたむときはaria-hidden="true"を設定します。aria-controlsが支援技術の正しい領域を指していることを確認します。

インスピレーションとデザインノート

フォーカスの管理:メニュー内のフォーカスを維持し、閉じる際にフォーカスを復元する

厳密なフォーカストラップから始めて、ユーザーが明確にラベル付けされたアクションでそれを閉じない限り、フォーカスをアクティブなパネル内に保持します。最初のフォーカス可能な要素は、パネル内のプライマリコントロールである必要があり、最後のフォーカス可能な要素は、そのエントリポイントにループバックする必要があります。これをバイパスするショートカットはありません。フランチェスコは、キーボードフローテストからの知識に裏打ちされたこのアプローチは、視覚的な手がかりや移動能力が制限されているユーザーにとってインタラクションを非常に快適にし、パネル内での予測可能性を維持するのに役立つと述べています。

シーケンスの最後に目立たない非視覚的なキャッチャーを実装して、Tabキーを最初の要素にリダイレクトし、Shift + Tabキーが逆方向に正しく循環するようにします。計算を使用して堅牢なタブオーダーを確立し、パネルがアクティブな間はフォーカスがページの残りの部分にエスケープできないことを確認します。一時的な自己完結型の体験を示すためにaria-modalなどのセマンティクスを含め、フォーカス復元アクションがオープナーまたはその最も近いフォールバックアンカーにフォーカスを返すようにします。

閉じる際に、パネルを開いた開始要素にフォーカスを復元します。その要素が見つからない場合は、メインコンテンツの次の論理アンカーにフォーカスを返します。ブラウザ全体およびキーボードのみのフローでテストし、フォーカスの移動時間を測定し、予測できないジャンプがないことを確認します。ユーザーを安心させるために、トランジション中にフォーカスの短い表示インジケーターを維持します。

источникは、図書館、ギャラリー、展示会などの機関の実用的なリファレンスを提供します。そこでは、タワー、手すり、彫刻がレイアウトに表示されます。フォーカスがずれると世界は静止するため、デザインはオープンで予測可能である必要があります。フランチェスコのチームテストでは、このアプローチは参加者に感銘を与え、タスクの成功における改善を認めました。このアプローチは、天文学のような精度と一致しています。一貫したフォーカスターゲット、明確な手がかり、およびすべての能力のユーザーが自信を持ってナビゲートするのに役立つ堅牢な計算。また、長時間のセッションおよび高コントラストインターフェイスの高度な標準になる可能性があります。

状態の通知:コンテンツを中断せずにメニューの開閉に関するスクリーンリーダーアラート

推奨事項:パネルを操作したコントロールに隣接する専用のライブリージョンを実装します。状態の変更がプライマリコンテンツを中断せずにアナウンスされるように、aria-live="polite"、aria-atomic="false"、およびaria-relevant="additions text"を使用していることを確認します。

メッセージは簡潔にする必要があります:パネルが展開されたまたはパネルが折りたたまれた、実際には2〜4語で、コンテンツの読み取り順序の上にあります。

DOM順序でステータスリージョンをメインコンテンツの上に配置し、コントロールのキーボードアクセスを維持します。リージョンがオンになったら、コンテキストを維持するためにフォーカスをトリガーに戻します。

歴史的な例:ビクトリア朝の翼には、アンティークのガラス、丸みを帯びた手すり、および食堂の中庭があります。内部レイアウトは、アラートがユーザーのタスクとどのように連携するかを示します。建築家は、予測可能なプロンプトをサポートするために、これを考慮に入れることができます。

リスクを最小限に抑えたい場合は、自然言語を使用します。専門用語を避け、トーンを穏やかでニュートラルに保ちます。

rebeccaは、アクションではなく状態によってメッセージに名前を付けることを提案しました。josephは、チケットのバックログでこのアプローチをテストしました。なぜなら、明確さが重要であり、支援技術に依存しているユーザーを支援するからです。

もう1つのまれなエッジケースは、気象データまたはライブフィードを含むページへのアクセス中に発生します。そのような場合は、コンテンツと競合することなく、状態宣言の安定したチャネルを提供します。

利用可能なツールは、クロスブラウザの互換性をサポートしています。変更がデバイス全体でアクセス可能であり、リージョンへのアクセスが簡単であることを確認します。読みやすさを検証するために、サンタのテストペルソナを検討してください。

実装メトリックには、レイテンシ、メッセージの長さ、スキップ率が含まれます。認知負荷を軽減し、読み取りフローを中断しない自然なリズムで完全なカバレッジを目指します。

補足ノート:スカートのようなオフスクリーン領域を使用して、リージョンを視覚的に控えめに保ちながら、支援技術で検出可能に保ちます。キーボードとタッチスクリーンで簡単にアクセスできるポールのようなトリガーコントロールを検討してください。

セマンティック構造:マルチセクションメニューの正しいランドマーク、ロール、およびラベル

推奨事項:セクションのセットにツリーのような構造を採用します。コンテナはrole="tree"とaria-label="セクションツリー"を持つ必要があります。各ヘッダーは、必要に応じてaria-expandedおよびaria-selected状態を持つrole="treeitem"になります。各アイテムに一意のコードを使用し、その順序の一貫した測定値を維持します。パターンをインストールし、スクリーンリーダーでテストして、誰かがレベルでナビゲートし、より深いノードに入り、保存されたコンテキストで後で再開できるようにします。

ラベリングとランドマーク:すべてのリージョンに明確で一意のラベルを割り当て、見出しとIDをペアリングし、aria-labelledbyを介してそれらを参照します。ラベルが迅速な認識を目的としたままであり、既存の名前を変更せずに将来の追加のためにスペースを確保してください。新しい領域が後で追加された場合は、混乱を避けるために同じラベリングスキームを再利用します。敷地内では、訪問者が一目で適切な場所にたどり着けるように、各セクションを明確な見出しにマッピングします。

構造とコンテンツ:サブセクションのtreeitemをネストして、一貫した階層を維持しながら、マルチレベルレイアウトをサポートします。ヘッダーが装飾的なスタイリングで飾られている場合は、支援技術のためにテキストラベルをプレーンに保ちます。コロラドのサブツリー内では、視覚的にバロック様式のスタイリングが適用されているのが見られるかもしれません。ラベル自体は真実であり、ドアからのエントリとコンテキストを失うことなくスムーズなエンター動作を保証します。このアプローチは、スキムするのが簡単で、装飾のために誤って読まれない情報の壁を維持するのに役立ちます。

状態管理とテスト:フォーカス順序を測定し、EnterキーまたはSpaceキーなどのアクションがアイテムを確実に展開またはアクティブ化することを確認します。リージョンが予約されているか、まだ購入できない場合は、aria-disabledとしてマークし、ユーザーが今すぐ入力できないことをユーザーに知らせるための目に見える手がかりを提供します。後で、ラベルを調整して、新しく利用可能なセクションなどの更新を反映し、敷地全体で一貫性を保ちます。クリーンで一意の構造のおかげで、カジュアルな訪問者から支援を必要とする人まで、誰もがセットを通して簡単なパスを体験できます。

ナイトモードのアクセシビリティ:夜間のコントラスト、モーション設定、およびメニューインタラクションの視覚的な手がかり

推奨事項:パターン化された背景でも、本文テキストに少なくとも4.5:1のコントラスト、インタラクティブなコントロールに3:1のコントラストを保証するシステム駆動のナイトパレットを実装します。#111-#1a1a1a周辺の中立的なベースと、メイン要素のこれらのルールを満たすアクセントカラーを使用します。サイトでの長時間のセッション中にラベルとコントロールが読みやすい状態を維持します。ベッキーや他のデザイナーからの観察、およびクレメンティヌムなどの大学施設でのテストは、この知恵を養い、具体的なデザインを推進します。11月のチェックでは、デバイス全体で安定した読みやすさが一貫して示されています。

モーション:ユーザーのシステムがモーションの低減を通知する場合、不要なアニメーションを無効にし、トランジションを150ミリ秒未満に保ちます。長いフェードをすばやく離散的な変更に置き換えます。ヒントとステータスの更新には、スライドパネルではなく、色とテキストラベルを使用します。そのアプローチは認知負荷を軽減し、顧客がコンテンツに夢中になるのを助けます。

視覚的な手がかり:フォーカスインジケーターが明るい背景とパターン化された背景の両方で表示されるようにします。周囲の表面と対照的な明るい色合いで2ピクセルのアウトラインを使用します。アイコンとテキストラベルとペアリングして、信号が色に依存しないようにします。マウントされたバナーまたはツールチップは、安定した位置に表示する必要があります。ユーザーを混乱させる可能性のあるコンテンツのシフトを避けます。

キーボードとスクリーンリーダーのサポート:関連するコントロール間の論理的な順序を維持します。説明的なARIAラベルを提供します。開いた状態の手がかりが、認識されるのに十分な長さで表示されたままであることを確認します。クイックタスク中にコンテキストを失う自動非表示を避けます。これにより、セクション間でパターンが繰り返されるときに注意を引くことができます。

テストと観察:WebAIMでコントラストチェックを実行し、通常のテキストの場合は4.5:1、UIコンポーネントの場合は3:1を確認します。明るさが異なるデバイス、および顧客がすばやく手がかりに依存するサロンやコーヒーショップの設定などの実際のコンテキストでテストします。スタディグループのstinersからの観察では、状態間の永続的な信号が認識を助けることが指摘されています。デバイスとパターン化されたヘッダーを含め、eticketsフローがアクセス可能なままであることを確認します。目標は、ユーザーの速度を低下させ、時間の経過とともにコストを節約できるグレアや疲労などの問題を軽減することです。

経済と影響:堅牢なナイトモードは目の疲れを軽減し、セッション時間を延長し、顧客とサイトに価値を提供できます。明確なトークン、予測可能な変更、および簡単な切り替えにより、開発作業が最小限に抑えられ、現在のキャンペーンが大幅なオーバーホールなしで実行されるようになります。11月のテストと実際の使用では、このアプローチは、スターバックスの顧客のように、すばやく読み取りと簡単なアクションを重視する顧客など、明瞭さを犠牲にすることなくコンテンツにすばやくアクセスしたい顧客を支援します。

実装ノート:背景(--bg)、表面(--surface)、テキスト(--text)、およびフォーカス(--focus)のCSS変数を使用してパレットシステムを文書化します。prefers-color-scheme:ダークおよびprefers-reduced-motion:古いデバイスの適切なフォールバックを使用して削減をサポートします。タイポグラフィを読みやすく保ち、デザインが合板と木製のテクスチャで機能することを確認し、パターンが存在する場合は、クレメンティヌム、大学、および以前のブランドコンテキストについて言及している実際のユーザーでテストします。パターンは安定している必要があり、足元でシフトするのではなく、ページ全体でアクセシビリティを維持する必要があります。

運用上のリマインダー:制御されたページセットでロールアウトを開始し、ベッキーや他の顧客などのユーザーからの観察を収集します。次に、メインセクションに展開します。これにより、コンパスの北が快適さと明瞭さのバランスをとることを目指し、ちらつきを避けるために慎重に進む安定したサイクルが始まります。11月のウィンドウで、サイトが成長するにつれて、このアプローチは、合板の表面やパターン化されたヘッダーのグレアに関連するそれらの非常に困難な問題に対処し、eticketsフローが古いハードウェアで実行されているデバイスを含むすべてのユーザーにとってシンプルであることを保証する必要があります。