$air-score --explain method
무엇을 근거로 판정하는가_
결과를 믿을지 말지는 이 문서를 읽고 정하시면 됩니다. 판정 규칙, 점수 산식, 수집 경계, 그리고 이 도구가 하지 않는 일까지 전부 적어 두었습니다.
$air-score --explain layers
판정 출처를 세 층으로 나눕니다
[1] HTML 사실
alt 속성의 유무와 값 · 감싸는 링크/버튼 · width/height · figure 구조
→ 다시 실행해도 같은 값. AI가 이 층을 뒤집지 못합니다.
[2] 문자열 · 문맥 규칙
파일명형 ALT · 일반형 ALT · 키워드 반복 · 주변 본문과의 중복 · 페이지 내 중복
→ 코드로 표현된 규칙이라, 왜 걸렸는지 그대로 설명할 수 있습니다.
[3] 의미 판정 (AI · 직접 켰을 때만)
이미지가 실제로 무엇인지 · 이미지 안 문구 · 현재 ALT와의 일치 여부
→ 이 층만 확률적입니다. 그래서 기본값이 꺼짐이고 신뢰도 임계값이 붙습니다.결과 화면에서도 각 항목이 어느 층에서 나왔는지 함께 표시합니다.
$air-score --explain pipeline
수집 · 판정 파이프라인
$ 1 verify HTTP(S) · 기본 포트 · 공개 도메인만 통과
거부: 내부·로컬 주소, IP 직접 입력, 아이디·비밀번호가 붙은 URL
$ 2 fetch 서버가 내려준 정적 HTML만 수집
리다이렉트는 홉마다 다시 검증 · 15초 / 2MB 상한
$ 3 filter 본문 상세 이미지만 남김
제외: 로고 · 아이콘 · SNS · 앱 배지 · 결제 배지 · 트래킹 픽셀
$ 4 rules HTML 사실과 문자열 규칙으로 판정
(AI를 켰다면 여기서 의미 판정을 병합)
$ 5 report selector · 현재 HTML · 수정 HTML · 수정 단계를 함께 출력$air-score --list-codes
오류 코드
| 코드 | 심각도 | 무엇을 잡는가 | 어떻게 고치는가 |
|---|---|---|---|
| ALT_MISSING | 오류 | alt 속성 자체가 없음 | 의미를 담아 쓰거나, 장식이면 alt=""를 명시 |
| ALT_EMPTY_INFORMATIVE | 검토 | 장식으로 확정하기 어려운 이미지에 빈 ALT | 이미지를 열어 정보가 있는지 확인 후 결정 |
| ALT_GENERIC | 주의 | '이미지', '상품이미지'처럼 형식만 채운 값 | 다른 이미지와 구분되는 한 가지를 쓰기 |
| ALT_FILENAME | 오류 | 파일명·자동 생성 식별자를 ALT로 사용 | 업로드 도구의 파일명 자동 삽입을 끄기 |
| ALT_DUPLICATE | 검토 | 출처가 다른 이미지에 완전히 같은 ALT | 각 이미지가 더하는 정보의 차이를 반영 |
| ALT_REDUNDANT_WITH_CONTEXT | 검토 | ALT가 주변 본문에 그대로 들어 있음 | 이미지만 담은 정보를 쓰거나 alt="" |
| ALT_KEYWORD_STUFFED | 주의 | 같은 단어 반복·키워드 나열 | 자연어 한 문장으로 다시 쓰기 |
| FUNCTIONAL_ALT_MISSING | 오류 | 링크·버튼 역할 이미지에 이름이 없음 | 외형이 아니라 동작·목적지를 쓰기 |
| TEXT_IN_IMAGE_UNCOVERED | 주의 | 이미지 안 핵심 문구가 HTML 어디에도 없음 | 본문 텍스트로 옮기고, 어려우면 ALT에 반영 |
| IMAGE_DIMENSIONS_MISSING | 참고 | 큰 이미지에 width/height 속성 없음 | 원본 픽셀 크기를 지정 (감점 없음) |
$air-score --explain score
점수 산식
이미지 점수 = 그 이미지에서 가장 심각한 항목 하나의 점수
오류 28 / 주의 58 / 검토 76 / 문제 없음 100
페이지 점수 = 진단 대상 이미지 점수의 평균 (반올림)
· '참고' 항목은 감점하지 않습니다.
· 제외 자산과 숨김 이미지는 분모에 들어가지 않습니다.
등급 A 90+ · B 75+ · C 60+ · D 40+ · F이슈 개수를 그대로 빼지 않습니다. 같은 이미지에서 파생된 항목을 두 번 깎으면, 이미지 한 장짜리 페이지가 서른 장짜리보다 나쁘게 나오는 왜곡이 생깁니다.
$air-score --limits
하지 않는 것
// JavaScript를 실행하지 않습니다 — 스크립트로 나중에 그려지는 이미지는 보이지 않습니다
// 로그인하지 않습니다 — 회원 전용·지역별·A/B 분기 화면은 재현하지 않습니다
// 스크린샷을 찍지 않습니다 — 화면 좌표 기반 오버레이는 제공하지 않습니다
// 결과를 저장하지 않습니다 — 계정도, 이력도, 다시 열 링크도 없습니다
// 접근성 준수 인증이 아닙니다 — 수정 우선순위를 정하는 도구입니다
// 검색 순위나 광고 성과 상승을 주장하지 않습니다
이미지 안 텍스트까지 확인
AI 분석을 직접 켰을 때만 동작합니다. 문제로 잡힌 공개 이미지 최대 3장을 읽어 ALT 누락 근거를 제시합니다.
$air-score ocr --alt-diff
같은 도메인 상세페이지 표본 조사
같은 호스트 · 최대 12페이지 · 링크 깊이 2 · 수정이 급한 순서로 정렬
$air-score crawl --depth 2 --limit 12
