Open4

ダイアログ入門

ken7253ken7253

一般的に普及したユーザーインターフェイスとしてダイアログというものがあります。
Webアプリケーションなどにおいては、ユーザーのアクションに応じて画面の最上位レイヤーに新しいボックスが現れて、ユーザーに通知を行ったり更にアクションを求めるために使用されます。

ken7253ken7253

フロントエンドエンジニアとしてUIを作っていましたがダイアログというUIに関して間違った認識を持っていたり、あまり知らない部分があったのでまとめておきます。

ken7253ken7253

ダイアログの種類

まずは、ダイアログと呼ばれるUIには大きく分けて2つの種類が存在します。

  • モーダルダイアログ
  • モードレスダイアログ

フロントエンドエンジニアとしては「モーダルダイアログ」のほうが聞き馴染みのある単語だと思います。また、ダイアログというUI全体を「モーダル」と呼ぶ方も少なくないと思っています。

まずこの2つのUIの違いはダイアログが現れた場合に背景の要素やウインドウを操作できるかできないかという基準を元に呼び分けられています。

ken7253ken7253

モーダルダイアログに期待される挙動とは

まずは、モードレスダイアログとの最大の違いである背景の要素やウインドウの操作ができないという点について確認していきます。

背景のスクロールを抑制する

背景のフォーカス抑制

フォーカストラップの実装

適切なロールとARIA属性の付与