[refactor] 모임 생성 Lighthouse 기준 성능 및 접근성 개선 - #241
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository UI Review profile: ASSERTIVE Plan: Pro Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthrough모임 생성 관련 5개 파일에서 이미지 로딩 우선순위 및 크기 명시, 동적 Calendar 로딩, 폼 에러의 항상 렌더링 처리 및 ARIA 속성 추가 등 성능·접근성 관련 수정이 적용되었습니다. 변경 사항
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 분 추천 리뷰어
시
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@apps/web/src/features/moim-create/ui/moim-form/form-field-error.tsx`:
- Around line 11-23: The early return when message is falsy prevents rendering
the <p> placeholder and thus breaks the fixed error-area spacing; remove the "if
(!message) return null" behavior and always render the paragraph node (the
element using message, hasMessage, and className) so min-h-[18px] and invisible
can reserve space; inside that <p>, conditionally set role and aria-live based
on hasMessage and render message ?? "\u00A0" to keep content/spacing while
keeping accessibility attributes dynamic.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository UI
Review profile: ASSERTIVE
Plan: Pro
Run ID: 1bc71a6d-269d-4d60-87c8-9bf95413fde6
📒 Files selected for processing (5)
apps/web/src/_pages/moim-create/ui/moim-create-header.tsxapps/web/src/features/moim-create/ui/moim-form/form-field-error.tsxapps/web/src/features/moim-create/ui/moim-form/form-moim-section.tsxapps/web/src/features/moim-create/ui/moim-form/theme-color-select.tsxapps/web/src/shared/ui/date-picker.tsx
chan-byeong
left a comment
There was a problem hiding this comment.
지나치기 쉬운 부분 꼼꼼하게 개선하신 것 같습니다!
고생하셨습니다.
| className, | ||
| )} | ||
| > | ||
| {message ?? "\u00A0"} |
There was a problem hiding this comment.
에러 메시지가 없을 때 빈 문자열 대신 \u00A0(non-breaking space)를 넣어서,
에러 영역의 한 줄 높이를 유지하기 위한 코드입니다!
\u00A0 = 공간을 차지하는 공백 문자
기존에는 메시지가 없으면 에러 영역이 없다가, 에러 발생 시 새로 생기면서 아래 요소가 밀리는 문제가 있었습니다.
그래서 메시지가 없을 때도 최소 높이를 유지해두고, 에러가 나타나더라도 레이아웃 변화(CLS)가 발생하지 않도록 적용했습니다.
📌 Summary
모임 생성 페이지 Lighthouse 측정 결과를 기준으로 성능 및 접근성 개선을 진행했습니다.
📄 Tasks
👀 To Reviewer
📸 Screenshot
Before
After
Summary by CodeRabbit
릴리스 노트
성능 개선
버그 수정
접근성