지금은 role을 사용하는 것이 좋을 것 같습니다… H2로 전환하면 테마가 많이 깨질 것 같습니다.
문제없습니다. PR이 준비 중입니다.
NVDA에서 주제 목록을 빠르게 탐색하는 것이 훨씬 더 쉬워졌어요. 그냥 h, h, h 키를 눌러 주제 사이를 이동하면 됩니다.
아쉬운 점은, 주제 목록에 h2 또는 h3를 사용하는 것이 더 적절하다는 것입니다. 하지만 그 시기는 아마도 8년 이상 전에 지나갔을 것입니다.
음, 새 리전(Region)에 대해 어떻게 생각해야 할지 아직 잘 모르겠네요. 각 게시글마다 아주 작은 텍스트가 추가되긴 하지만, 그렇게 나쁘지는 않은 것 같고, 화살표 키로 게시글을 넘길 때 조금 더 많은 맥락을 제공해 주는 것 같아요. 나중에 사람들이 이 기능을 좋아하지 않는다면 나중에 되돌릴 수 있다고 가정해도 될까요?
이 변경 사항이 여기에서 이미 적용된 건가요? 그런 것 같고, 실제로 주제 탐색 경험을 훨씬 더 쾌적하게 만들어 주네요. 이렇게 빠르게 조치해 주셔서 정말 감사합니다! 호스팅 사이트에는 언제 새 버전이 배포되나요?
배포 버튼을 누르면 됩니다
. 현재 사이트 배포가 진행 중이며, 약 20분 후에 활성화될 예정입니다.
나중에 사람들이 이 기능을 좋아하지 않는다면 되돌릴 수 있다고 가정해도 되나요?
네, 물론입니다. 시각장애인 커뮤니티에서 이 기능이 실제로 도움이 되는 것보다 더 많은 노이즈를 만든다고 느낀다면, 기꺼이 되돌리겠습니다.
내 스크린리더에 HTML
<select/>로 보고되는 드롭다운 메뉴가 거의 전부 깨져 있습니다.
우리는 SelectKit이라는 라이브러리를 여러 곳에서 사용하고 있습니다. 카테고리 선택, 개인 메시지 생성 시 사용자 선택, 주제 추적 상태 선택(주제를 관심 있게 지켜보고 싶다고 표시할 수 있음) 등에 이 라이브러리를 사용합니다.
이 라이브러리는 NVDA와 절대 호환되지 않으며, 우리는 이를 개선하는 데 시간을 할애할 계획입니다. 하지만 솔직히 말씀드리면, 이는 매우 복잡한 작업이며 몇 주가 소요될 수 있습니다.
오늘 몇 가지 추가 수정 사항을 적용했는데, 여러분이 좋아하실 것이라고 확신합니다. 관리 인터페이스를 찾는 것이 얼마나 어려웠는지 말씀하신 것을 기억합니다.
페이지 상단에 있는 "다른 주제 목록 또는 카테고리로 이동"은 사이트 설정, 관리자 패널, 카테고리별 주제 목록 등 다양한 링크를 포함하는 “잡지” 영역입니다. @eviltrout가 오늘 아침에 이 목록을 확장할 때 포커스가 해당 영역으로 이동하도록 변경했습니다. 이는 NVDA 사용자에게 훨씬 더 명확하게 알려줍니다.
저는 여러분의 사용 경험을 이해하기 위해 많은 시간을 보내고 있습니다. 오늘 발견한 또 다른 문제는 답변이나 새 주제를 게시할 때 "피드백이 부족"하다는 점이었습니다. 성공했는지 아닌지를 파악하기가 매우 어렵습니다. 우리는 여기서 포커스 트릭을 사용해 여러분을 돕기 위해 노력할 것입니다. 장기적으로 Discourse에 “소리” 모드를 추가하여 다양한 작업의 오류와 성공에 대한 피드백을 제공해야 하는지 고민해 볼 필요가 있습니다.
앞으로 갈 길이 멀지만, 저는 이에 대해 매우 설레고 있습니다.
저의 목표이자 Discourse의 목표는 PHPbb와 "비슷한 수준"이 되는 것이 아닙니다. 우리가 원하는 것은 "구식 방식"보다 모든 면에서 더 낫기 때문에 여러분의 첫 번째 선택지가 되는 것입니다. 그곳에 도달하는 데 시간이 걸리겠지만, 우리는 이미 그 여정을 시작했습니다.
이 문제를 위해 aria 라이브 리전을 사용할 수 있습니다. ARIA live regions - ARIA | MDN. 일반적인 예로는 검색이 제출된 후 결과 수를 알리는 것이 있지만, 필요한 경우 이를 라이브 리전으로 표시된 빈 div에 "답변이 게시되었습니다"라는 텍스트를 추가하는 방식도 가능합니다.
live regions가 정말 멋져 보이네요. select kit 문제의 해결책이 될 수도 있을 것 같습니다.
아, role=alert도 우리의 다양한 오류 처리에 아주 잘 작동하네요. 지금 바로 추가하겠습니다!
@nolan 오늘 몇 가지 멋진 수정/개선을 더 했습니다. (참고로 저는 모든 테스트를 NVDA에서 수행하고 있습니다.)
-
게시글을 작성하려고 할 때 글이 너무 짧으면 aria role 알림을 제공하여 스크린 리더가 문제점(예: 게시글이 너무 짧음 등)을 알려줍니다.
-
“모달” 포커스 로직을 개선했습니다. 이제 모달에 조건 없이 포커스가 설정됩니다. 이를 통해 다양한 키보드 단축키를 발견할 수 있습니다. 해당 단축키에 대한 링크는 “다른 주제 목록 또는 범주로 이동” 섹션에 있습니다.
변경 사항이 지금 바로 여러분 사이트로 배포되고 있습니다.
의견을 들려주세요!
음, 여기서 좀 시시한 걸 따지는 것일 수도 있겠네요. 하지만 주제 목록이 표시되는 방식이 좀 이상해요. 개별 열이 아니라 전체 행이 제목으로 표시되는 것처럼 보입니다. 말했듯이 아주 사소한 문제라 제가 그냥 시시한 걸 따지는 것일 수도 있겠네요.
와, 이 스레드가 갑자기 뜨는 것 같네요. 브라우저 알림을 켜면 이메일이 안 오는 것 같은데, 어떻게 수정할 수 있는지 확인해봐야겠어요.
이번 변경사항들 정말 좋습니다! 감사합니다!
토픽 목록의 제목이 좀 이상하다는 의견에 동의합니다. 제목에는 꼭 필요한 최소한의 정보만 괄호로 표시해 주면 좋겠어요. 나머지 정보가 필요하면 어디서 찾을 수 있는지 알고 있으니까요.
예를 들어 게시물 표시를 보면, 제가 추가한 h2 역할은 이름과 게시물 시간만 감싸고 있습니다. h/H 키를 눌러 게시물을 이동할 때 제가 가장 중요하게 생각하는 정보가 바로 이 부분일 거예요. 토픽 목록의 경우엔 제목만 알고 있으면 충분할 것 같습니다.
Ethin, 우리가 같은 문제를 이야기하고 있고 제 이해가 정확했으면 좋겠네요. 제 생각이 틀렸다면 알려주세요.
또한 @Sam에게 한 가지만 더 짚고 넘어가자면, Orca와 호환되지 않는다는 점입니다. @Ethindp가 Linux 버그 헌팅이나 다른 작업에서 도움을 줄 수 있을지는 모르겠지만, 적어도 제 시스템(Ubuntu + Orca/Firefox)에서는 드롭다운 메뉴가 조금은 작동합니다.
예를 들어, 새 토픽을 만들 때 카테고리 드롭다운을 확장해서 카테고리를 입력할 수 있습니다. 상태 선택을 열 수는 있지만, 해당 메뉴를 확장하면 버튼처럼 작동해서, 상태 메뉴를 눈앞에 보이지 않는 채로(의도된 비유입니다) 눌러야 하고, 내가 원하는 상태가 나오기를 바랄 수밖에 없습니다. Orca나 ATSPI 이벤트에 대해 충분히 알지 못해서, 한 스크린 리더에서 작동하는 방식이 Orca에서도 작동할지, 아니면 더 많은 작업이 필요할지 알 수 없습니다.
Firefox에서 atspi 이벤트를 제어할 수 없으므로 그 부분은 문제가 되지 않습니다. 문제는 스크린 리더에 표시되는 역할(role)입니다. 컨트롤이 콤보 박스처럼 작동한다면 ARIA를 통해 브라우저에 해당 컨트롤이 콤보 박스임을 알려주세요. 기억하세요: ARIA 디자인 패턴을 따르세요. 다만, 수행하려는 작업에 해당하는 디자인 패턴이 없는 경우를 제외합니다(이것은 꽤 드문 경우일 것이며, 해당 문서는 꽤 포괄적이므로요).
@nolan 네, 제가 말씀드린 것이 바로 그 부분입니다. 테이블(그리고 게시물)을 헤딩을 통해 탐색하는 방식이 저에게는 속도를 떨어뜨립니다. 그 이유는 다음과 같습니다:
- 모든 열이 헤딩이거나 여러 개의 헤딩입니다 – 마치 여러 개처럼 읽힙니다. 그래서 이렇게 읽힙니다: 주제 제목. 멈춤. 주제 정보. 멈춤. 주제 정보. 멈춤. 등등. Orca는 NVDA와 달리 화살표 키를 사용하여 탐색할 때(또는 이 경우 h 키를 사용하여 탐색할 때) 개별 열이 아니라 테이블 행 전체를 읽습니다(NVDA는 개별 열을 읽습니다).
- 게시물도 마찬가지입니다. 모든 게시물 정보가 다시 한 번 별도의 헤딩으로 되어 있으며, 위에서 설명한 대로 읽힙니다.
해결책은 시각적 레이아웃이 깨지지 않는다면, 중요한 정보만 포함된 각 열을 단일 헤딩으로 병합하는 것입니다. (솔직히 말해서, 테이블을 헤딩으로 탐색하는 방식은 제가 정말 좋아하지 않습니다 – 그것은 테이블이 작동하는 방식이 아니라고 생각하며, 헤딩은 원래 그런 곳에 두는 것이 아닙니다.)
마지막으로 작은 문제 하나: 모든 헤딩이 동일한 레벨인 것 같습니다. 이것은 문제가 됩니다. 스크린 리더는 다른 레벨로 페이지를 이동할 수 있게 해주기 때문입니다. 모든 헤딩이 동일한 레벨이므로, 주제 헤딩과 관련 게시물 헤딩 사이를 이동할 수 없습니다 – 대신 주제 전체를 읽어야 하며, 이는 특히 게시물이 매우 많은 주제에서는 특히 짜증스럽습니다.
현재 ARIA heading 역할이 전체 행에 적용되어 있습니다. 이를 필수 정보인 대형 테이블의 첫 번째 열(상태, 제목, 카테고리, 읽지 않은 개수 등)에만 적용하도록 이동할 예정입니다.
한 단계 더 나아가서 역할을 주제 제목에만 적용할까요? 주제 상태, 카테고리 등에 대한 정보는 좌우로 탐색하면 된다는 점을 기억하는 한, 이렇게 하면 속도가 꽤 빨라질 것입니다.
@celtichawk 감사합니다! @j.jaffeux JAWS, Orca, NVDA와 호환되어야 하는 드롭다운 솔루션에 대한 옵션입니다. 언급했듯이 시간이 조금 걸릴 수 있지만, 지금 작업 중이며 몇 주 안에 보여드릴 수 있는 무언가를 기대하고 있습니다.
@ethindp 주제 내 헤더 문제에 대해 아이디어가 하나 있습니다. "username"과 같은 단일 요소에 header 역할을 부여하고, "Sam이 3시간 전에 게시함"이라는 aria 설명을 추가할 수 있습니다. 그러면 h키로 탐색할 때 "Post #3 region Sam이 3시간 전에 게시함"이라고 읽힐 것입니다. 이 방법을 시도해 볼까요?
한번 해보는 걸 추천해. 사실 그 아이디어 꽤 마음에 들어. (아, 템플릿은 정말 최고야!)
음, 첫 번째 열만으로도 충분할 것 같아요. 이 기능을 조금 더 살펴보니까 제목만 읽는 게 아니라 읽지 않은 상태와 개수도 함께 읽어주는 점이 마음에 들어요. 다행히 나머지 부분은 지금처럼 마지막에 읽히니까, 그렇게 해도 괜찮을 것 같긴 해요. 하지만 첫 번째 열만 읽는 방식이 제 기대에 더 부합하는 것 같아요.
놀란, 안녕하세요.
오늘 이 부분을 변경하려고 했는데, TD 요소에 이미 “rowheader” 역할이 지정되어 있습니다. 이 부분을 건드리는 것이 걱정됩니다.
여기 몇 가지 옵션이 있습니다:
-
모든 주요 정보가 포함된 TD(테이블 열)의 역할을 변경합니다.
-
link-top-lineSPAN에 역할을 도입합니다. 여기에는 핵심 정보가 포함되지만 카테고리 및 태그는 제외됩니다. -
정말로 이렇게 하고 싶지는 않지만, 래퍼 DIV를 추가할 수도 있습니다.
어떤 해결책을 선택해야 할까요?
클라우스는 헤딩 역할(heading role)이 얼마나 특이한지에 대한 문제점도 제기했습니다. 저는 "링크"에만 헤딩 역할을 부여하는 것이 어떨까 생각 중입니다.
그렇게 하면 다음과 같은 방식이 됩니다:
- 상태(잠김, 고정 등)에 대한 내용은 읽히지 않습니다.
- H 키를 누릅니다.
- 해당 주제의 제목이 읽힙니다.
- H 키를 다시 누릅니다.
- 다음 주제의 제목이 읽힙니다.
언제든 주제의 특수한 정보를 발견하거나 더 풍부한 방식으로 상호작용하고 싶다면, 더 많은 정보를 얻기 위해 위쪽 또는 아래쪽 화살표 키를 누르면 됩니다.
완벽한 해결책은 아니지만, “고정” 링크에 포커스가 맞춰지거나 전체 행이 읽히는 것보다는 약간 개선된 것 같습니다.
사실 포럼에서 주제 목록을 표시하기 위해 표를 사용하는 것은 정말로 매우 좋습니다. Orca를 제외한 제가 아는 모든 스크린리더는 표를 탐색할 수 있으므로, 올바른 행과 열 정보를 제공하면 탐색이 잘 이루어집니다. 주제에 헤딩을 요청했던 이유는 열린 주제를 탐색할 수 있는 안정적인 방법을 마련하기 위해서였습니다. 표에 헤딩을 추가할 뚜렷한 이유는 없다고 보지만, 올바르게 구현한다면 문제를 일으키지 않습니다.
Claus
안녕하세요.
이 스레드의 모든 분들께 진심으로 감사드립니다. 저는 몇 개의 Discourse 인스턴스를 관리하는 일을 돕고 있는데, 여기에서 언급된 대부분의 문제를 실제로 경험해 왔습니다. 어제 한 포럼이 업데이트되면서 상황이 좋아졌기 때문에, 그제서야 어떤 방식으로 개선할 수 있을지 알아볼 수 있었습니다. 정말 긍정적인 변화였습니다!
그리고 오늘 아침에 이 스레드를 우연히 발견하게 되어, 앞으로 더 나아질 것이라는 큰 희망을 갖게 되었습니다.
구체적인 제안은 많지 않습니다. 제가 겪었던 대부분의 불편함이 이미 다루어졌기 때문에, 지금 이 방향으로 계속 나아가시길 바랍니다.
다만, 이 스레드에서는 언급되지 않았다고 생각하는 한 가지가 있습니다. 바로 스레드에서 다른 사용자의 글을 인용하는 접근 가능한 방법입니다. 누군가의 글을 인용하고 싶을 때 저는 보통 이렇게 합니다.
인용할 내용 여기에 입력.
하지만 공식적인 인용 방법을 사용할 수 있었으면 좋겠습니다. 마크다운을 잘 알지 못해서 직접 작성하는 것은 어렵고, 설령 알더라도 그렇게 하는 것이 좀 번거롭게 느껴집니다. 마우스를 사용할 수 없을 때 다른 사람들이 스레드에서 인용을 위해 어떤 트릭을 사용하는지 궁금합니다.