-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[REFACTOR] 매칭 결과 페이지 스크린 리더 개선 및 버그 해결 #351
Conversation
- 접근성 전용 텍스트로 읽을 시 플로팅 버튼을 통해 목록이 업데이트 되어도 이전의 순위를 읽는 문제가 발생하여 이렇게 개선함 #336
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
회의 완뇨!
const { scrollToTop, scrollToBottom } = useScrollControl(resultContainerRef); | ||
|
||
const handleScrollToTop = () => { | ||
scrollToTop(); | ||
requestAnimationFrame(() => { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
💭 질문 💭
requestAnimationFrame을 사용한 이유는 무엇인가요?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
: index === matchedMembers.length - 1 | ||
? lastRankLiRef | ||
: null | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
💭 질문 💭
삼항 연산자가 2번 반복되서 이해하기 어려운 것 같아요ㅠㅠ
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
<img src={SillyDdangkongMedium} alt="" css={profileImage} /> | ||
<span css={nickname}>{memberMatchingInfo.nickname}</span> | ||
return ( | ||
<li css={rankItem} ref={targetRef} tabIndex={-1}> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
💭 질문 💭
tabIndex(-1) 를 넣은 이유가 무엇인가요?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
키보드로 탐색 시 탐색할 목록일 필요는 없어서 -1로 설정했습니다 ! ^ .^
Issue Number
#336
As-Is
매칭 결과 페이지
모든 라운드가 종료되면 나와 가장 같은 선택을 많이 한 사람 순으로 매칭도를 나열합니다.
x.mov
문제점
1, 정보를 뚝뚝 끊어 읽고, 정보가 명확하지 않는다.
2. 어떤 버튼인지 알기 힘들다.
3. 플로팅(최상단, 최하단)버튼 클릭시 포커스를 잃는다.
4. 좌우 스크롤이 생겨 한 화면에 정보를 볼 수 없어 불편하다.
To-Be
default.mov
Check List
Test Screenshot
(Optional) Additional Description
왜 A11yOnly 컴포넌트를 사용하지 않았는지
처음에는 접근성 컴포넌트를 활용하여 개선하려고 했지만 다음과 같은 문제 발생했습니다.
default.mov
접근성 컴포넌트를 활용하여 접근성 전용 텍스트를 넣고 시각적 요소에 aria-hidden을 하니 목록이 넘어갔음에도 계속 이전의 목록을 읽었어요. 따라서 접근성 전용 텍스트를 추가하는 것이 아니라 시각적 요소에 접근성 작업을 추가하여 개선했습니다.
🌸 Storybook 배포 주소