モーダルパターンの状態、トリガー、ユーザーアクション、レスポンシブ動作、コンテンツルール、および失敗状態を定義します。このリファレンスは採用の境界、失敗時の動作、および観察可能な証拠を固定しつつ、環境固有の制限は設定可能なままにします。
パッケージの状態: リファレンスコンテキストは人間によるレビュー準備完了。契約およびテストシナリオは完成していますが、採用実装がそれらを通過したという主張はしていません。
決定事項
モーダルについては、利用可能な場合はネイティブセマンティクスを用いた再利用可能な状態およびインタラクション契約を採用します。可視状態、可能な限りの可逆的選択、入力の保持、アクセシブルな回復を備えた決定論的なユーザージャーニーを定義します。このパッケージはリファレンス契約であり、採用チームは自環境の証拠に基づいて数値制限、プロバイダー、管轄区域、運用責任者を選択しなければなりません。
範囲
- このUXブロックで説明されるモーダルのアクター、入力、出力、状態、ポリシーまたはスキーマのバージョン、および外部に見える結果。
- 主インターフェースおよび代替インターフェース、バックグラウンド処理、キャッシュ、統合、サポート経路、および同じ境界を動作させる証拠。
- リファレンスを安全に適用するために必要な採用固有の設定、展開、回復、および検証の責任。
このブロックの外側
- すべての採用者に対して普遍的なベンダー、フレームワーク、管轄区域、数値閾値、保持期間、またはサービスレベル目標を選択すること。
- パッケージ化されたシナリオが下流の実装で実行されたことや、このリファレンスが法的、セキュリティ、アクセシビリティ認証を付与することを主張すること。
契約
- パターンが入る可能性のあるトリガー、開くまたはアクティブ、読み込み中、成功、空、無効、エラー、無効化、および閉鎖状態を定義する。
- キーボード入力、フォーカスの入りと戻り、アクセシブル名、アナウンス、ポインター動作、タッチターゲット動作をまとめて指定する。
- 破壊的、不可逆的、または外部効果を明示し、作業が保留中は重複起動を防止する。
- 狭い幅、高倍率ズーム、テキスト拡大、強制色、動作軽減時にもコンテンツ階層とアクションを使いやすく保つ。
- 実際に作業が保留中の間のみ進行状況を表示し、ユーザーの確定した意図を隠すことなく重複起動を防止する。
- 検証、許可、接続、競合、および致命的失敗を区別する平易でアクション固有のメッセージを使用する。
- モーダルコンテンツを名前付きダイアログとして公開し、意味のある初期ターゲットにフォーカスを移動し、インタラクションを閉じ込め、背景を非活性化し、閉じたときに有効な開始コンテキストにフォーカスを復元する。
- Escapeキー、閉じるボタン、破壊的確認、ネストされたオーバーレイ、ルートおよびブラウザバック、スクロールロック、検証、小画面動作をキーボードやスクリーンリーダーユーザーを閉じ込めることなく定義する。
実装ガイダンス
- 最長、空、遅延、オフライン、拒否、支援技術パスをプロトタイプし、ハッピーパスのレイアウトを確定する前に検証する。
- フレームワークやベンダーの詳細を選択する前に、モーダルの入力、出力、アクター、状態、不変条件、副作用、証拠をモデル化する。
- 適用されるモーダル契約またはポリシーバージョンをマテリアル状態と共に保存し、マイグレーション、再生、サポートの判断が追跡可能であるようにする。
- 制御された展開の背後にパスを導入し、期待される結果と観察された結果を比較し、採用証拠が完了するまでテスト済みの回復ルートを維持する。
失敗処理と安全策
- アクション失敗時には関連する入力とフォーカスを保持し、結果をアナウンスし、安全な回復経路のある状態にコンポーネントを戻す。
- 無効または矛盾したモーダル状態は拒否または隔離される。実装は権限を拡大したり効果を重複させる値を推測しない。
- リトライは制限され耐久的な識別子を使用する。使い果たした後は検査可能な終端状態に達し、責任者が明確である。
検証と運用
- キーボード、タッチ、スクリーンリーダー、狭いビューポート、遅延ネットワーク、回復可能なサーバーエラーでジャーニーを完了する。
- モーダルの成功、拒否、検証失敗、依存失敗、リトライ使い果たし、回復を契約バージョン別に監視し、機密ペイロードの詳細は含めない。
- ポリシー、スキーマ、依存関係、マイグレーション、境界の変更後に正負のフィクスチャを再実行し、結果の証拠を保持する。
採用の前提
- 例の名前と値は具体的なフィクスチャであり普遍的なデフォルトではない。採用者は文書化された証拠と所有権を通じて置き換える。
- 採用システムは認証済みの識別、耐久的な操作または記録バージョン、制限されたテレメトリ、および制御された変更経路を提供できる。
このパッケージの実行可能に見える例はフィクスチャおよび受け入れ契約です。
構造とメタデータを検証するためにコレクションバリデーターを実行し、ターゲットリポジトリでシナリオを翻訳・実行してから実装証拠を記録してください。