# preflight — 출시 전 감사 5단계에서 읽는다. **자기 결과물을 남의 것처럼 본다.** 통과 못 한 항목은 4단계로 돌아가 고친다. 슬롭 지문 검출과 자가 채점표는 `references/antipatterns.md` 에 있다. 이 문서는 **그 외 전부**를 다룬다. --- ## 0. 먼저 기계로 검사한다 **무엇에 돌리는가부터 정해라.** - 정적 HTML/CSS 프로젝트 → 소스 그대로 - **React·Vue·Astro 등 프레임워크 프로젝트 → 프로덕션 빌드 결과에 돌린다.** 소스만 보면 렌더된 DOM 이 없어 대비·가로 스크롤·LCP 를 잴 수 없다. `pnpm build && pnpm preview` 로 띄우고 그 URL 을 검사해라 - **소스만 보고 "측정 불가"로 남기지 마라.** 미측정은 통과가 아니다 grep 검사는 **주석과 문자열을 제외**해라. "100vh 금지"라고 쓴 주석이 게이트 #9 에 걸리는 오탐이 실제로 나왔다. 사람 눈보다 정확하고 빠르다. 셋 다 돌려라. ### A. 이펙트 전부 끄기 ```css /* 임시로 주입해서 확인한다 */ *, *::before, *::after { filter: none !important; backdrop-filter: none !important; animation: none !important; transition: none !important; transform: none !important; } canvas { display: none !important; } ``` 이 상태에서 **페이지가 여전히 읽히고 구조가 살아 있어야 한다.** 무너지면 이펙트가 구조를 대신하고 있는 것이다. 4-1로 돌아가라. ### B. 슬롭 지문 grep `references/antipatterns.md` 의 grep 목록을 소스에 돌린다. 검출률 상위 항목(보라 CTA, 전체 대문자 헤드라인, 번호 매긴 1·2·3 단계)부터. ### C. 카피 경쟁사 치환 제품명을 경쟁사 이름으로 바꿔 읽는다. **문장이 그대로 성립하면 그 카피는 아무것도 말하지 않았다.** 히어로 문구부터 검사한다. --- ## 1. 접근성 — 타협 없음 | 항목 | 확인 방법 | 기준 | |---|---|---| | 키보드 도달 | Tab 만으로 순회 | 모든 인터랙티브 요소에 도달, 순서가 시각 순서와 일치 | | 포커스 표시 | Tab 하며 눈으로 | 항상 보인다. `outline: none` 만 있고 대체가 없으면 실패 | | 대비 | 측정 도구 (아래 주의) | 본문 4.5:1, 큰 글자·UI 3:1 | | 이미지 대체텍스트 | 소스 확인 | 의미 있는 이미지에 alt, 장식은 `alt=""` | | 폼 레이블 | 소스 확인 | 모든 입력에 연결된 `