이것은 그냥 잠깐 보고 드리는 내용입니다. 다른 스레드에서 좋아요 버튼에 접근성 라벨이 없는 경우가 있다는 걸 알게 되었습니다. 아직 패턴을 찾지는 못했지만, 게시물이 이미 하나 이상의 좋아요를 받았는지, 아니면 아직 아무도 좋아요를 안 눌렀는지에 따라 컨트롤이 분할되어 표시되는 것과 관련이 있을 수 있습니다. 그렇게 되면 버튼이 두 개로 나뉘어 보이는데, 하나에는 개수가 표시되고, 다른 하나는 라벨이 없습니다.
제가 말씀드리는 것은 게시물을 '좋아요’하기 위해 누르는 버튼에 대해 스크린 리더가 읽어주는 내용입니다. 혹은 다른 반응(리액션)을 추가할 수 있는 기능이 있을 수도 있지만, 제 스크린 리더는 그에 대해 전혀 알려주지 않습니다. 제가 라벨을 받는 유일한 요소는 현재 좋아요 수가 1개 이상일 때 표시되는 요소뿐입니다. 0개라면 해당 컨트롤이 존재하지 않습니다. 그러나 ‘좋아요’ 반응을 추가하기 위해 제가 눌러야 하는 버튼은 Windows, Mac, iOS의 스크린 리더에서 모두 라벨이 없습니다.
저는 시각 장애가 있어 마우스를 사용하지 않습니다. 그리고 title 속성은 일반적으로 터치 상호작용에서도 문제가 되는데, 마우스 호버를 트리거할 쉬운 방법이 보통 없기 때문입니다.
이 정보가 도움이 되길 바랍니다…
정확히 말씀드리자면, 저는 #discourse-reactions-actions-916340 > div > div.discourse-reactions-reaction-button.my-likes > button 버튼에 대해 말씀하는 것입니다. 이 버튼에는 title이나 aria-label이 없고, 내부에는 aria-hidden으로 설정된 SVG만 있습니다. 그리고 설령 그렇지 않더라도, 그 SVG와 자식 요소에는 스크린 리더가 사용할 수 있는 정보가 전혀 없습니다. 따라서 해결책은 다음과 같습니다:
이 버튼에 “이 게시물에 좋아요” 또는 "좋아요로 반응하기"와 같은 aria-label을 부여하십시오. 향후 다른 반응이 추가될 수 있으므로, 어떤 반응이 추가되는지 명확히 하는 문구가 필요합니다.
카운트를 담고 있는 요소인 #discourse-reactions-counter-916340에는 실제로 누가 어떤 반응으로 반응했는지에 대한 더 나은 정보가 제공되어야 합니다. 비시각 장애 사용자가 그 숫자를 클릭하면 어딘가에 팝업이 나타나는지 저는 잘 모르겠습니다. 하지만 그것도 스크린 리더 및 키보드 사용자에게 접근 가능하도록 만들어야 합니다.
나중에 다른 반응이 추가된다면, 마우스뿐만 아니라 터치, 키보드, 스크린 리더 사용자들에게도 접근 가능하도록 만들어야 합니다.
현재로서는 적어도 저에게는 위젯이 ‘좋아요’ 반응만 허용하는 것 같습니다.
여러 번의 게시물에 대해 죄송합니다. 하지만 원인을 찾아가는 과정이 때로는 이렇게 세밀할 수 있음을 보여줍니다. 제 것이 아닌 게시물들의 title 속성은 현재 실제 ‘좋아요’ 버튼의 부모 div에 있습니다. 그러나 스크린 리더가 이를 인식하려면 title이 버튼 자체에 있어야 합니다. 스크린 리더는 아무 요소의 title도 인식하지 않습니다. 지난 25년간 title 속성이 너무 많이 오용되어 왔기 때문에, 일반적인 일반화는 불가능합니다. 따라서 title 속성을 <button> 자식 요소로 이동시키면 스크린 리더가 적절히 인식할 것입니다.