문제 배경:
단축키를 신나게 등록해 놔도 사용자가 모른다면 참으로 어리석은 일이 아닐 수 없습니다.
후에 이것을 깨달아 툴팁을 등록하게 됩니다.
해결:
radix-ui/react-tooltip을 사용했습니다
구현이 간단하고 이 프로젝트에 사용하고 있는 tailwind와 잘 호환이 된다고 하여 사용했습니다.
https://www.radix-ui.com/primitives/docs/components/tooltip#installation
Tooltip – Radix Primitives
A popup that displays information related to an element when the element receives keyboard focus or the mouse hovers over it.
www.radix-ui.com
적용하는 과정은 다음과 같습니다
<Tooltip>
<TooltipTrigger asChild>
<button
type="button"
className="text-white bg-black/60 hover:bg-black/80 focus:bg-black/80 rounded cursor-pointer p-4"
onClick={() => zoomOut()}
tabIndex={isCurrentImage ? 0 : -1}
aria-label="축소(-)"
>
<FiMinus aria-hidden="true" />
</button>
</TooltipTrigger>
<TooltipContent>
<p>축소(-)</p>
</TooltipContent>
</Tooltip>
적용하는 방법이 매우 간단합니다.
접근성
- 이런 툴팁 라이브러리를 사용할 때 기본적으로 접근성에 관련된 사항들을 처리해준다고 하여 aria-label을 지우고 라이트하우스 테스트를 진행했었습니다. 하지만 읽히지 않았고 점수가 낮게 나와 다시 추가 했습니다.
- 시각 장애인에게 short-cut을 알려주기위해 방법을 찾던 중 aria-keyshortcuts이라는 속성을 알게 되었습니다. 실제로 aria-label에 넣는 것보다 따로 분리를 하기 때문에 좋을 것이라 생각해서 적용해봤는데 지금 테스팅을 하고 있는 nvda 리더기에서 읽히지 않았습니다. 찾아보니 지원되는 것도 있고 안되는 것도 있다고 합니다. 그래서 원래대로 다 지원되는 aria-label에 다 넣고 ()로 구분하기로 했습니다.
'개발 > 기록' 카테고리의 다른 글
windows wsl cursor mcp Client Closed 해결 (How to Fix Cursor AI "Client Closed" Error Connecting to MCP Server) (0) | 2025.04.08 |
---|---|
zoom & swipe image Viewer: 사용자에 따라 단축키 다르게 설정하기 (0) | 2025.04.01 |
zoom & swipe image Viewer: 줌 이후 패닝 키보드로 조작할 수 있게 하기 (0) | 2025.03.31 |
zoom & swipe image Viewer: 과도한 음성 텍스트 정리하기 (0) | 2025.03.31 |
중고 자동차 사이트 이미지 뷰어 개선 프로젝트: zoom & swipe image Viewer 개발 (1) | 2025.03.27 |