ホームページ >ウェブフロントエンド >CSSチュートリアル >ポップオーバーとダイアログの関係を明確にします
(属性を使用)とダイアログpopover
(要素とアクセス可能な役割)の区別は、しばしば混乱を引き起こします。 多くの記事はこれを明確にしようとしていますが、問題は続いています。 この説明は、決定的な理解を提供することを目的としています
関係を理解する:ポップオーバーとダイアログ<dialog></dialog>
dialog
技術的な実装を超えて、より広い視点に焦点を当てましょう。 ポップオーバーは、ユーザーが要素に対話する(クリック、ホーバー、または焦点を合わせる)ときに表示されるコンテンツです。 Aria
、aria-haspopup
、menu
などの役割に分類します。 重要なことに、listbox
ダイアログはgrid
ダイアログタイプdialog
役割を拡大すると、3つの主なタイプがあります。
dialog
非モーダル:
::backdrop
アクセシビリティには、ポップオーバーに役割が必要です。 適切な役割には、:、popover
、showModal()
、<dialog></dialog>
、およびpopover
にリストされている役割が含まれます。
などのより複雑な役割もオプションです。 およびはあまり一般的ではありませんが、潜在的に有効な選択肢です。
ツールチップ:ビジュアルとアクセシビリティAPIを使用してツールチップを実装することは実行可能です。aria-haspopup
<div popover="" role="tooltip">...</div>ただし、アクセシビリティガイドラインでは、ツールチップがインタラクティブなコンテンツを含めるべきではないことが規定されています。 インタラクティブなツールチップは、実際にはツールチップではなくダイアログです。 Heydon Pickeringが述べているように、「あなたはダイアログを考えています。ダイアログを使用してください。」 これが、
がaria-haspopup
。tooltip
を含めない理由です
status
ロールは、ライブ地域を利用してツールチップコンテンツを読者に発表します。 ポップオーバーにはstatus
を使用できますが、そのライブ地域の性質はそれを他の役割と区別します。 したがって、コアポップオーバーメンタルモデルから省略されています
status
要約
popover
<dialog></dialog>
ポップオーバーの推奨役割には、
<div popover="">...</div> <dialog popover="">...</dialog>、
、menu
、listbox
、tree
、grid
が含まれます。 treegrid
およびdialog
は従来性が低いですが、alertdialog
。status
と互換性がありません
tooltip
さらに読み取りaria-haspopup
以上がポップオーバーとダイアログの関係を明確にしますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。