フォーカストラップ
フォーカストラップの設定
設定方法
「折り返しリンク」でtab
を押すと、「最初のリンク」へ戻ります。また、逆に「最初のリンク」でshift
+tab
を押すと「折り返しリンク」へフォーカスが遷移します。
<div class="u-flex u-gap-xs u-flex-wrap">
<a class="js-focustrap-start" href="#">最初のリンク</a>
<a href="#">リンク</a>
<a href="#">リンク</a>
<a class="js-focustrap-end" href="#">折り返しリンク</a>
<a href="#">リンク</a>
</div>
const focusTrap = new FocusTrap();
focusTrap.addFocusTrap(".js-focustrap-start", ".js-focustrap-end");
設定オプション
addFocusTrap
メソッドは下記の引数を取ります。
focusTrap.addFocusTrap("開始セレクター", "終了セレクター", "方向");
引数 | 概要 |
---|---|
開始セレクターの設定 | フォーカストラップの開始セレクターを入力します。 |
終了セレクターの設定 | フォーカストラップの終了セレクターを入力します。 |
方向の設定 | フォーカストラップの方向を指定します。 |
開始セレクターの設定
開始セレクター: string
フォーカストラップの開始セレクターを入力します。通常は最初のリンクやボタンなど、フォーカスが当たる要素を指定します。
終了セレクターの設定
終了セレクター: string
フォーカストラップの終了セレクターを入力します。通常は最後のリンクやボタンなど、フォーカスが戻る要素を指定します。
方向の設定
方向の設定: string = both
フォーカストラップの方向を指定します。デフォルトは"forward"
で、"backward"
を指定すると逆方向にフォーカスが移動します。
focusTrap.addFocusTrap(".js-focustrap-start", ".js-focustrap-end", "backward");
フォーカストラップの解除
解除方法
フォーカストラップを設定すると、それを解除しない限り設定が残り続けます。それを解除するためには下記のメソッドを呼び出してください。
const focusTrap = new FocusTrap();
focusTrap.removeFocusTrap(".js-focustrap-start", ".js-focustrap-end");
解除オプション
removeFocusTrap
メソッドは下記の引数を取ります。
focusTrap.removeFocusTrap("開始セレクター", "終了セレクター");
引数 | 概要 |
---|---|
開始セレクターの解除 | フォーカストラップの開始セレクターを入力します。 |
終了セレクターの解除 | フォーカストラップの終了セレクターを入力します。 |
開始セレクターの解除
開始セレクター: string
フォーカストラップを解除する開始セレクターを入力します。
終了セレクターの解除
終了セレクター: string
フォーカストラップを解除する終了セレクターを入力します。