このページの本文へ移動

SCR37:デバイス非依存な方法でカスタムダイアログを作成する

出典:WAIC. “ SCR37: デバイス非依存な方法でカスタムダイアログを作成する新しいウィンドウを開きます ” WCAG 2.0 達成方法集(参照2024年7月1日)

概要

カスタムダイアログは、標準のブラウザポップアップウィンドウを使用せずに、ウェブページ内に独自のダイアログを作成する方法を指します。これにより、デザインやユーザーインターフェースの統一性を保つことができます。通常、カスタムダイアログは、ダイアログのコンテンツを div 要素内に収め、CSSの重なり順序と絶対配置を用いてページ上の適切な位置に配置します。

カスタムダイアログをアクセシブルにするためには、いくつかの重要なルールを守る必要があります。まず、リンクやボタンの onclick イベントをトリガーとしてダイアログを起動し、トリガーした要素の直後にダイアログの div を配置します。これにより、スクリーンリーダーの読み上げ順序やキーボードのタブ順序が正しく保たれます。さらに、ダイアログのコンテンツが他のコンテンツと同じアクセシビリティガイドラインに準拠していることを確認する必要があります。

このページでは、ウェブサイト制作でよく直面する課題に対して、基本的で取り組みやすい方法を紹介しています。
ただし、他にも対処すべき状況や多くの手段があり、具体的な状況に応じて最適な方法を選ぶことが大切です。

適用(対象)

こちらは、次の達成基準に関連する達成方法です。

実践的な方法

トリガーの設定

ダイアログを起動するためのリンクやボタンを設定します。例えば、次のような onclick イベントを使用します。

<button onclick="openDialog()">Open Dialog</button>

ダイアログの作成と配置

ダイアログ自体は div 要素で作成し、初期状態では非表示にします。また、CSSを用いて絶対配置を行います。

<div id="customDialog" style="display:none; position:absolute; z-index:1000;">
    <!-- ダイアログの内容 -->
</div>

JavaScriptを使用して、トリガー要素の直後にダイアログを挿入します。

function openDialog() {
    var triggerElement = document.activeElement;
    var dialog = document.getElementById('customDialog');
    dialog.style.display = 'block';
    triggerElement.parentNode.insertBefore(dialog, triggerElement.nextSibling);
    dialog.focus();
}

ダイアログのアクセシビリティ確保

ダイアログ内のコンテンツが他のコンテンツと同様にアクセシビリティガイドラインを満たしていることを確認します。特に、適切な見出し要素やラベル付けが重要です。

ダイアログの閉鎖

ダイアログを閉じるための機能を実装します。リンクやボタンで閉じる方法や、キーボードフォーカスが外れた際に自動的に閉じる方法があります。

function closeDialog() {
    var dialog = document.getElementById('customDialog');
    dialog.style.display = 'none';
}

まとめ

SCR37は、カスタムダイアログをデバイス非依存な方法で作成し、アクセシビリティを確保するための実践的なガイドラインです。これにより、ユーザーエクスペリエンスの一貫性を保ちながら、アクセシブルなウェブインターフェースを提供することが可能になります。適切なトリガーの設定、ダイアログの配置と表示、アクセシビリティの確保、ダイアログの閉鎖といった実践的な方法を守ることで、全てのユーザーにとって使いやすいカスタムダイアログを実現できます。

WCAG 2.0とその翻訳文書の利用について

本ページの内容は、「Web Content Accessibility Guidelines (WCAG) 2.0新しいウィンドウを開きます」、「WCAG 2.0 解説書新しいウィンドウを開きます」および「WCAG 2.0 達成方法集新しいウィンドウを開きます」からの引用を含んでいます。引用された内容は、W3CおよびWAICによって公開されており、以下のクリエイティブ・コモンズライセンスに基づいて使用されています。これらのガイドラインを参考にしつつ、ウェブアクセシビリティの向上に向けた具体的な取り組みを分かりやすく説明しています。

WCAG 2.0

この作品はクリエイティブ・コモンズ 表示 4.0 国際ライセンス新しいウィンドウを開きますの下に提供されています。

WCAG 2.0 解説書及び達成方法集

この作品はWCAG 2.0 解説書及び達成方法集からの引用を含みます。翻訳はWAICによって提供されており、文書のステータスは「勧告」です。なお、この文書の正式版はあくまでW3Cのサイト内にある英語版であることにご注意ください。

Contactお問い合わせ

当社ではウェブアクセシビリティ診断を提供しております。すべてのユーザーにアクセスできるウェブサイトを目指して、一緒に取り組みましょう。診断のご依頼や詳細については、お気軽にご連絡ください。

お問い合わせ