지난주 저는 디스코urses를 스크린리더(NVDA)와 함께 하루 동안 사용해 보았는데, 이 문제가 제 1순위 불만 사항이었습니다. 따라서 이 문제를 수정하고 싶습니다.
/latest와 같은 토픽 목록에서 토픽에 진입하면, 디스코urses는 해당 토픽의 첫 번째 읽지 않은 게시물로 스크롤하여 하이라이트하거나, 읽지 않은 게시물이 없으면 마지막 게시물로 이동합니다. 이 기능은 시각적으로 볼 수 있는 사용자에게는 훌륭하게 작동하지만, 스크린리더 사용자에게는 토픽 진입 시 포커스가 전혀 이동하지 않기 때문에 이 사실을 알지 못하게 됩니다. 따라서 스크린리더는 항상 페이지 상단부터 읽기 시작합니다.
저는 이 문제를 해결하기 위한 수정 사항을 테스트하기 위해 메타에 테마 컴포넌트를 배포했습니다. 스크린리더를 사용하는 분 중 이 수정 사항을 테스트해 보시고, 상황이 나아졌는지(또는 더 나빠졌는지 ) 확인해 주실 수 있을까요? 무작위로 토픽에 진입하여 몇 개의 게시물을 읽은 후, 토픽을 나갔다가 다시 진입했을 때, 디스코urses가 나를 첫 번째 읽지 않은 게시물로 이동시켰는지 쉽게 알 수 있었나요? 개선할 수 있는 부분이 있을까요?
아, 이건 정말 좋은 것 같고 꽤 도움이 되는 것 같습니다. 다만 포괄적으로 테스트해 보지는 않았습니다. 확실한 개선이라고 생각합니다.
한 가지 제안드릴 것이 있습니다: 주제를 클릭해서 끝까지 읽은 뒤 브라우저의 뒤로 버튼을 누르면, 마우스 포커스가 이전에 클릭했던 주제에 유지됩니까? 지금 바로 말씀드릴 수 있는데, 다음으로 가장 큰 불편함은 클릭했던 주제로 다시 돌아가야 다음 주제를 찾아야 한다는 점일 것입니다. 주제를 클릭한 뒤 뒤로 버튼을 누르면, 목록에서 해당 주제 링크에 키보드 포커스가 설정될 수 있을까요?
그리고 참고로, 주제 내 마지막 게시물 아래에 "Select % name or value"라고 표시된 이상한 컨트롤이 있습니다. 무언가가 제대로 이스케이프되지 않은 건가요? NVDA 음성 버퍼에서 해당 문구를 직접 복사해야 할 것 같아서 정확한 발음 값은 알지 못합니다. 페이지 텍스트 자체에는 표시되지 않았습니다.
과거에 비해 훨씬 좋아졌고, 실제로도 꽤 잘 사용되고 있습니다. 다만, 개선이 정체된 것 같아 조금 우려됩니다.
특히 88번째 게시물에서 제가 제기했던 우려 사항들이 해결되었는지 확신이 서지 않습니다. 그리고 제가 예측했듯이, 이러한 접근성 변경 사항이 많은 Discourse 설치 환경으로 확산되면서 이제는 제게 상당한 번거로움을 주고 있습니다. 예를 들어, 특정 주제를 클릭해서 읽은 뒤 ‘뒤로’ 버튼을 누르면, 포커스가 원래 있던 스레드 목록의 맨 위 어딘가로 이동해 버립니다. 즉, 카테고리에서 50번째 게시물을 보고 있다가 이를 클릭해 읽은 뒤 ‘뒤로’ 버튼을 누르면, 포커스가 원래 목록의 20번째 게시물 근처로 이동해 버리는 식입니다. 그러면 저는 다시 원래 위치(즉, 링크를 클릭했던 50번째 게시물)로 돌아가야 하며, 이후 계속 열람을 이어가야 합니다. 이 과정은 보통 스레드 제목을 기억하고, 그 제목이 충분히 고유하길 바라며, 페이지에서 해당 제목을 검색해 원래 클릭했던 링크를 찾아내는 것으로 이어집니다. 아마도 카테고리에 보이는 첫 번째 게시물 링크로 포커스가 반환되는 것 같지만, 정말 마지막에 열람했던 게시물로 포커스가 반환되어야 합니다. 사소한 문제처럼 들릴 수 있지만, 5~10회 정도의 열람마다 제 원래 위치를 다시 찾기 위해 1~2분씩 소요된다면, 몇 번 반복만 해도 커뮤니티 활동에 지쳐 버립니다. 저는 반짝반짝한 몇 번의 ‘포커스 다시 찾기’ 과정이 너무 부담스러워서, 흥미가 있고 참여하고 싶었음에도 불구하고 실제로 여러 Discourse 포럼의 열람을 중단했습니다.
요약하자면, 나쁘지 않고 과거에 비해 확실히 훨씬 나아졌다고 생각합니다. 하지만 특히 이 문제가 해결되기를 진심으로 바랍니다. 왜냐하면 스크린리더 사용자가 몇 분 남짓한 ‘구 포커스 찾기’ 세션 몇 번 만에 지쳐버린다면, 그 목소리들은 여러분의 커뮤니티에 참여하지 않게 되기 때문입니다. 자원이 다소 부족할 수 있다는 점은 알지만, 접근성 전문가로서 이 수준의 마찰은 대부분의 Discourse 커뮤니티가 희망하는 장기적인 참여를 장려하기에는 다소 과하다고 자신 있게 말씀드릴 수 있습니다.
그럼에도 불구하고, 약 1년 전과 비교했을 때 상황이 훨씬 나아졌다는 점을 인정하고 싶습니다. 정말 감사합니다!
노란 님, 이 문제를这么久 동안 해결하지 못한 점 진심으로 사과드립니다. 하지만 좋은 소식이 있습니다! 해당 문제는 지난 주에 수정되었으며, 이후로 저희가 호스팅하는 모든 Discourse 인스턴스(이 사이트 포함)에 배포되었습니다. 예상대로 작동하는지 확인해 보시고 알려주실 수 있을까요? 추가로 개선되었으면 하는 부분이 있으신가요?
스크린리더 사용자들을 위해 개선되었으면 하는 몇 가지 사항에 대해 다시 말씀드리고자 합니다.
지난 며칠간 제 작은 포럼에서 사용자 목록을 사용해보려 했지만, 보기 좋게 만들어진 표가 실제로는 쓸모없는 것을 발견했습니다. Brugere - Discourse Meta
상단 행에는 실제로 표의 열 설명이 될 수 있는 버튼들이 채워져 있는 것 같습니다. 제 추측으로는 각 버튼이 표의 데이터를 다시 정렬하는 기능을 하는 것 같습니다. 아주 좋은 기능이지만, 스크린리더가 열 제목을 인식할 수 있는 방법이 전혀 없는 한, 현재 코딩된 상태로는 7개의 열을 가진 이 표는 너무 복잡하여 사실상 사용할 수 없습니다. 표를 탐색하면서 열 제목이 읽혀질 때까지는 거의 사용할 수 없는 상태입니다.
특히 긴 스레드에서 발생하는 또 다른 문제는, 다른 사용자의 게시물에 답하는 것인지 아니면 스레드 내 자신의 “독립적인” 답변을 작성하는 것인지 명확히 구분할 수 있으면 좋겠다는 점입니다. 현재 답글 버튼은 답글을 쓰는 대상이 누구든, 어떤 문맥이든 관계없이 "답글"이라는 텍스트와 일반적인 추가 문구만 표시됩니다. 답글 버튼을 누를 때 답변한 사람의 이름이나 주제 번호가 함께 표시되면 좋겠습니다. 또한, 특정 게시물에 답글을 쓰는 경우와 주제 자체에 답글을 쓰는 경우를 시각적으로 구분해 주면 더 좋겠습니다.
새로운 좌절감에 다시 돌아왔습니다. 이 문제는 Edge 106과 Chrome 106에서 JAWS와 NVDA 모두에서 발생하는 것 같습니다.
토픽 목록이 포함된 테이블을 보면 마지막 답변으로 이동하는 두 가지 방법이 있습니다. 하나는 "이 토픽에 x개의 답변이 있습니다…"라는 링크를 누르면 해당 토픽의 첫 번째 또는 마지막 게시글로 이동할 수 있는 선택지가 제공되는 것입니다. 다른 하나는 마지막 게시글에 댓글이 추가된 시간을 나타내는 “XX 시간” 표시를 누르는 것입니다. 두 경우 모두 포커스가 해당 게시글로 이동할 것으로 기대할 수 있습니다. 그러나 더 이상 그렇게 되지 않습니다.
설명된 링크/버튼을 누르면 아무 반응이 없고, 스크린 리더의 포커스는 페이지 상단에 머물러 있습니다.