접근성

modal이 떠있을때 background focus못하게 하기

킹king 2022. 5. 23. 11:04
반응형

부트스트랩 모달을 쓰고 있었기때문에 기본적으로 role='dialog', aria-modal='true'이런게 다 기본적으로 되어있는데도 안드로이드에서만 스와이프하다보면 뒷배경에 focus가 가능했었음.

위 스크린샷처럼 떠있는 'save changes'가 focus된 상태에서 오른쪽으로 스와이프하면 뒷 background에 있는 다른 요소에 focus가 가버림 개빡

 

방법

$('header, footer').attr('aria-hidden', 'true');

 

다행히도 aria-hidden을 뒷 요소들한테 다 주면 된다. modal이 켜졌을땐 true, 꺼졌을땐 false로 해주면 뒤에 안잡음. display none이나 visibility hidden이런것도 해봤는데 얘네는 자칫하면 화면이 밀려버리는 경우가 있어서 위험위험. 아이폰은 이런작업 안해줘도 되는거보면 기본적으로 된다는건데 안드는 왜 안될까...

 

prevent background focus while modal show