/rams - Design Engineer for Claude Code, Cursor, and OpenCode
핵심 포인트
- 1이 문서는 웹 애플리케이션의 WCAG 2.1 접근성 및 시각적 디자인 문제를 식별하고 개선 사항을 제안하는 RAMS DESIGN REVIEW 보고서입니다.
- 2보고서는 Critical, Serious, Moderate 수준으로 문제를 분류하며, `alt` text 누락, `aria-label` 부재, focus outline 제거, 낮은 대비율 등 구체적인 사례를 제시합니다.
- 3각 문제에 대해 코드 라인 번호, 코드 스니펫, 수정 제안 및 관련 WCAG 참조를 제공하며, 최종적으로 발견된 문제점과 점수를 요약합니다.
이 문서는 웹 애플리케이션의 접근성 (WCAG 2.1) 및 시각적 디자인 품질을 평가하는 RAMS라는 도구의 검토 보고서입니다. RAMS는 코드 베이스에 대한 자동화된 디자인 및 접근성 감사 기능을 제공하며, 문제점을 심각도 (Critical, Serious, Moderate)별로 분류하여 보고합니다.
핵심 방법론 (Core Methodology):RAMS는 지정된 파일 또는 전체 프로젝트에 대해 정적 코드 분석 및 잠재적인 런타임 검사를 수행하여 WCAG 2.1 가이드라인과 일반적인 UI/UX 디자인 원칙에 위배되는 요소를 식별합니다. 각 발견된 문제에 대해 보고서는 다음과 같은 상세 정보를 제공합니다.
- Line Number: 문제가 발견된 코드의 줄 번호.
- Code Snippet: 문제가 있는 코드 조각.
- Fix Suggestion: 제안되는 해결 방안.
- WCAG Reference: 해당 문제가 위배하는 WCAG(Web Content Accessibility Guidelines)의 특정 성공 기준 (Success Criterion) 번호.
/rams 명령으로 전체 프로젝트를 검토하거나 명령으로 특정 파일을 지정하여 검토할 수 있습니다.문제 카테고리 및 상세 내용:
보고서는 Accessibility (WCAG 2.1)와 Visual Design이라는 두 가지 주요 영역에서 문제를 분류합니다.
1. Accessibility (WCAG 2.1):
- Critical:
alt text가 없는 이미지 (Critical Images without alt text).aria-labels가 누락된 아이콘 전용 버튼 (Icon-only buttons missing aria-labels).- 레이블이 없는 폼 입력란 (Form inputs without labels).
div onClick과 같은 비의미론적 클릭 핸들러 (Non-semantic click handlers).href속성이 없는 링크 (Links without href).
- Serious:
- 대체 요소 없이 제거된 포커스 아웃라인 (Focus outline removed without replacement).
- 누락된 키보드 핸들러 (Missing keyboard handlers).
- 색상으로만 정보를 제공하는 경우 (Color-only information).
- 44x44px 미만의 터치 타겟 (Touch targets under 44×44px).
- Moderate:
- 건너뛴 제목 레벨 (Skipped heading levels).
- 양의
tabIndex값 사용 (Positive tabIndex values). - 필수 속성이 없는
role(Role without required attributes).
2. Visual Design:
- Layout & Spacing:
- 일관성 없는 스페이싱 값 (Inconsistent spacing values).
- 오버플로우 및 정렬 문제 (Overflow and alignment issues).
Z-index충돌 (Z-index conflicts).
- Typography:
- 혼합된 폰트 패밀리 및 굵기 (Mixed font families and weights).
- 라인 높이 문제 (Line height issues).
- 누락된 폰트 폴백 (Missing font fallbacks).
- Color & Contrast:
- 4.5:1 미만의 대비율 (Contrast ratio below 4.5:1).
- 누락된
hover/focus states(Missing hover/focus states). - 다크 모드 불일치 (Dark mode inconsistencies).
- Components:
- 누락된 버튼 상태 (Missing button states).
- 누락된 폼 필드 상태 (Missing form field states).
- 일관성 없는 테두리 및 그림자 (Inconsistent borders and shadows).
app/page.tsx 파일 검토 결과:
현재 보고서는 app/page.tsx 파일에 대한 검토 결과를 요약합니다.
- Critical (2 Issues):
- Line 24: 버튼에 접근 가능한 이름이 누락되었습니다.
- 수정 제안: 를 추가합니다.
- WCAG 참조: 4.1.2 (Name, Role, Value).
- Line 24: 버튼에 접근 가능한 이름이 누락되었습니다.
- Serious (1 Issue):
- Line 48: 으로 포커스 아웃라인이 제거되었습니다.
- 수정 제안:
focus-visible:ring-2를 추가하여 포커스 가시성을 보장합니다. - WCAG 참조: 2.4.7 (Focus Visible).
- 수정 제안:
- Line 48: 으로 포커스 아웃라인이 제거되었습니다.
요약 및 점수:
총 2개의 Critical, 1개의 Serious, 0개의 Moderate 문제가 발견되었으며, 종합 점수는 100점 만점에 68점입니다.