フォーカストラップ

フォーカストラップの設定

設定方法

「折り返しリンク」で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

フォーカストラップを解除する終了セレクターを入力します。