ダイアログは、Web 上でもネイティブ アプリケーションでも、アプリケーションに追加される一般的なコンポーネントです。従来、これらを Web 上に実装する標準的な方法は存在せず、その結果、さまざまな Web アプリケーション間で一貫して動作しないアドホックな実装が多く発生していました。多くの場合、一般的に期待される機能は、実装の複雑さのためにダイアログに欠落しています。
ただし、Web ブラウザでは標準のダイアログ要素が提供されるようになりました。
ネイティブ ダイアログ要素は、ダイアログ、モーダル、およびその他の種類の非モーダル ダイアログの実装を合理化します。これは、ブラウザにすでに組み込まれているダイアログに必要な機能の多くを実装することで実現されます。
これは、対話に関するユーザーの期待が確実に満たされるようにすることで、アプリケーションをアクセシブルにする際の開発者の負担を軽減するのに役立ちます。また、ダイアログの実装全般を簡素化できる可能性もあります。
新しい
<dialog> <p>However, adding the dialog alone won’t do anything to the page. It will show up only once you call the .showModal() method against it.<br> </p> <pre class="brush:php;toolbar:false">document.getElementById('example-dialog').showModal();
それを閉じたい場合は、他のほとんどのモーダルが機能するのと同じように、ダイアログ上で .close() メソッドを呼び出すか、Esc キーを押して閉じます。また、ページの残りの部分を暗くして操作を妨げる背景がどのように表示されるかにも注意してください。素敵です!
Web アプリケーションをすべてのユーザーがアクセスできるようにする場合、フォーカスを正しく処理することが重要です。通常、ダイアログを表示するときは、現在のフォーカスをアクティブなダイアログに移動する必要がありますが、ダイアログ要素を使用すると自動的に実行されます。
デフォルトでは、フォーカスはダイアログ内の最初のフォーカス可能な要素に設定されます。必要に応じて、フォーカスを開始する要素に autofocus 属性を設定することで、最初にフォーカスを受け取る要素を変更できます。これは、その属性が閉じる <ボタン> に追加された前の例で見られるように、要素。
.showModal() メソッドを使用してダイアログを開くと、ダイアログ ARIA ロールがダイアログ要素に暗黙的に追加されます。これにより、スクリーン リーダーがモーダルが表示されたことを理解し、画面がそれに応じて動作できるようになります。
フォームはダイアログに追加することもでき、フォーム用の特別なメソッド値もあります。