JavaScript(脱jQuery)
アクセシビリティ対応のモーダルウインドウ
Micromodal.js
アクセシビリティ対応のモーダルウインドウが実装できる、jQuery非依存の超軽量ライブラリ「Micromodal.js」です
「Micromodal.js」は、Webアクセビリティ(a11y)に対応したJavaScript製モーダルライブラリです。
・公式GitHubページ
Micromodal.js – Tiny javascript library for creating accessible modal dialogs
Micromodal.jsの主な特徴
- ファイルサイズが軽量(1.9kb)
- WAI-ARIAガイドラインに準拠
- jQueryに依存しないピュアなJavaScriptで書かれている
- キーボード操作が可能
- 余計なスタイルがあたっていない
- MITライセンス
オプション
| onShow | モーダルが開かれた時に呼び出されます。 |
|---|---|
| onClose | モーダルが閉じられた時に呼び出されます。 |
| openTrigger | 起動用マークアップを指定できます。(デフォルト: data-micromodal-trigger) |
| closeTrigger | 閉じる用マークアップを指定できます。(デフォルト: data-micromodal-close) |
| openClass | モーダルが開かれているときに付与されるクラス名を指定できます。(デフォルト: is-open) |
| disableScroll | モーダル起動時のスクロールを禁止することができます。(デフォルト: false) |
| disableFocus | モーダル起動時に最初の要素にフォーカスされるのを止めることができます。(デフォルト: false) |
| awaitOpenAniamtion | モーダル起動時のアニメーションを待ってから最初の要素にフォーカスされます。(デフォルト: false) |
| awaitCloseAnimation | モーダルを閉じられるときにアニメーションを待ちます。(デフォルト: false) |
| debugMode | trueの場合コンソールの警告を抑制します。(デフォルト: false) |
Micromodal.jsで出来ること
- 背景クリックするとモーダルを閉じる
- escボタンを押すとモーダルを閉じる
- モーダルのaria-hidden属性の切り替え
- モーダル外はTab移動の対象から外す
- モーダル内の最初のフォーカス可能な要素にフォーカスする
- モーダルが開いている間は後ろのコンテンツを操作出来ないように背景スクロールを固定する
- モーダルを閉じた時に、ダイアログを呼び出した要素にフォーカスを戻す