19장. Form과 사용자 상태
label, fieldset, legend, button type, native validation semantics를 유지한 뒤 꾸민다. placeholder를 label로 쓰지 않는다. 오류는 필드 근처 문구와 요약, aria-describedby로 연결한다.
:user-invalid, :focus-visible, accent-color, field-sizing 같은 기능은 지원 범위와 fallback을 확인한다. native appearance를 전부 없애면 focus, disabled, high contrast를 다시 구현해야 한다.
StudioBoard dialog를 Tab, Shift+Tab, Escape로 조작한다. dialog.showModal()은 focus와 top layer를 제공하지만 초기 focus, close 후 focus 복원, 제출 오류 흐름은 제품에서 검증한다.