WCAG2.2 AA 準拠

2.4.11 隠されないフォーカス(最低限)

適合レベル:AA

概要

フォーカスが当たっている箇所が、他のコンポーネント (たとえばスティッキーヘッダーやフッター、モードレスダイアログなど) によって覆い隠されることなく、常に視認できるようにする。
フォーカス箇所がほんの部分的にでも視認できていればOK。

対応方法

よくあるパターン
フォーカス→吸着ヘッダーの背面までスクロール→次のフォーカスが隠れたまま

JSでフォーカス時にヘッダーを避けるような処理をする。

```
let headerHeight = 0;

const header = document.querySelector('header');
const resizeObserver = new ResizeObserver(entries => {
for (const entry of entries) {
headerHeight = entry.borderBoxSize[0].blockSize;
}
});

if (header) {
resizeObserver.observe(header);
headerHeight = header.offsetHeight;
}

document.addEventListener('focus', (event) => {
const rect = event.target.getBoundingClientRect();

if (rect.top < headerHeight || rect.bottom > window.innerHeight) {
window.scrollTo({
top: window.pageYOffset + rect.top - headerHeight - 20,
behavior: 'smooth'
});
}
}, true);
```

各ページの検査結果

ページ名 検査結果 達成基準チェックリスト
フロントエンド, UI/UX, アクセシビリティのリベロジック株式会社
https://www.liberogic.jp/
検査結果:適合 達成基準チェックリストを見る
サービス | リベロジック株式会社
https://www.liberogic.jp/service/
検査結果:適合 達成基準チェックリストを見る
フロントエンド実装 | サービス | リベロジック株式会社
https://www.liberogic.jp/service/frontend/
検査結果:適合 達成基準チェックリストを見る
ヘッドレスCMS構築 | サービス | リベロジック株式会社
https://www.liberogic.jp/service/headless_cms/
検査結果:適合 達成基準チェックリストを見る
UIデザイン | サービス | リベロジック株式会社
https://www.liberogic.jp/service/design/
検査結果:適合 達成基準チェックリストを見る
アクセシビリティ対応 | サービス | リベロジック株式会社
https://www.liberogic.jp/service/accessibility/
検査結果:適合 達成基準チェックリストを見る
実績紹介 | リベロジック株式会社
https://www.liberogic.jp/works/
検査結果:適合 達成基準チェックリストを見る
様々なソリューション | サービス | リベロジック株式会社
https://www.liberogic.jp/service/other_services/
検査結果:適合 達成基準チェックリストを見る
私たちについて | リベロジック株式会社
https://www.liberogic.jp/about/
検査結果:適合 達成基準チェックリストを見る
トピックス | リベロジック株式会社
https://www.liberogic.jp/topics/
検査結果:適合 達成基準チェックリストを見る
お問い合わせ | リベロジック株式会社
https://www.liberogic.jp/contact/
検査結果:適合 達成基準チェックリストを見る