html로 오디오 태그와 소리가 충돌하지 않도록 화면 판독기가 사용자 컴퓨터에서 실행되고 있는지 여부를 감지하고 싶습니다. 그렇다면이를 수행 할 수있는 방법에 대한 세부 정보를 제공해주십시오.자바 스크립트를 사용하여 스크린 리더가 사용자 컴퓨터에서 실행되고 있는지 검색 할 수 있습니까?
답변
스크린 리더가 실행 중임을 감지 할 수 있다고해도 특별한 작업을 시도하지 않아야합니다. 한 그룹의 스크린 리더 사용자에게 맞다고해도 다른 그룹에게는 잘못 될 수 있습니다. 우선 깨끗한 HTML5를 작성하는 데 집중하는 것이 가장 좋습니다.
모든 스크린 리더 사용자가 TTS (텍스트 음성 변환)를 사용하지는 않습니다. 많은 점자 출력을 사용합니다. 또한 콘텐츠 하이 라이터 및 음성 입력 응용 프로그램과 같은 다른 유형의 접근성 도구는 스크린 리더와 동일한 기술과 API (예 : DOM, MSAA)를 사용하므로 "스크린 리더를 감지하는"기술도이를 감지합니다 사용자가 완전히 눈이 멀고 연설 만 사용한다는 것을 가정 할 수는 없습니다.
현재 상황에 따라 오디오 태그는 현재 보편적으로 액세스 할 수 없으며 다양한 브라우저의 접근성 지원 수준이 다릅니다 (HTML5 Accessibility 참조). 현재 지원에 대한 자세한 내용은 오디오로 스크롤하십시오. 오디오 태그 뒤에 HTML5 기반 컨트롤과 자바 스크립트를 추가 한 일부 페이지를 보았으므로 키보드 나 스크린 리더 사용자가 필요에 따라 오디오를 재생/중지 할 수 있도록 자신의 UI를 제공 할 수 있습니다. (결국 브라우저가 따라 잡을 때 필요하지 않습니다.)
WCAG 2.0 (Web Content Accessibility Guidelines)은 일반 접근성이 제공되는 한 자동으로 3 초 이상 재생되는 오디오에는 일시 중지 할 수있는 액세스 가능한 수단이 있어야합니다. 또는 오디오를 중지하십시오. (탭 브라우징을 사용할 때 어떤 탭에서 오디오가 오는지 알 수없는 경우가 종종 있습니다.)
Downvoter - 왜 하향 보화를 설명할까요? 이 대답으로 개선 될 수있는 것이 있습니까? – BrendanMcK
따라 가기 http://northtemple.com/2008/10/07/javascript-and-screen-readers 문제가 해결되었습니다.
정보에 대한 Arun : – shuklendu
안녕하세요 ......나는 당신의 문제가 해결되면 stackoverflow pls 투표를 내 새 질문입니다 – Untraceable
안녕 Arun, 귀하의 링크가 Javascript를 screenreaders에 액세스 할 수 있도록 만드는 유용한 정보를 제공하지 않습니다; 그러나 그것은 OP가 요구했던 것이 아닙니다. 그들은 JS에서 스크린 리더를 발견하는 방법을 알고 싶었습니다. JS에 게시 한 링크는 대답하지 않습니다. – BrendanMcK
자바 스크립트를 사용하여 스크린 리더를 감지 할 수 없으며 화면을 감지 할 수 없습니다 독자는 클라이언트 측 기술을 사용합니다. 플래시를 사용하여 MSAA 클라이언트를 실행중인 소프트웨어를 감지 할 수 있습니다. 작동 방식과 화면 판독기를 감지하는 데 사용해서는 안되는 이유에 대한 자세한 내용은 여기를 참조하십시오. Developer Beware: Using Flash to Detect Screen Readers
@billthelizard, 주석을 삭제할 이유가 있다면 도움이 될 것입니다. –
신뢰할 수있는 방법은 아니지만 화면 판독기의 진행 상태는 포커스를 사용하여 자바 스크립트를 통해 감지 할 수 있습니다 이벤트, 사용자가 콘텐츠를 훑어 보면서.
숨겨진 "탐색 링크 건너 뛰기"(http://webaim.org/techniques/skipnav/)는 집중해야하며 누군가가 스크린 리더를 사용하는지 여부를 감지하는 한 가지 방법입니다.
질문의 오디오 부분을 다루지는 않지만 화면 판독기를 직접 감지 할 수있는 방법을 찾고 있었기 때문에이 부분 솔루션을 제공하려고했습니다.
화면 판독기를 사용하지 않는 키보드로 이동하는 사람들은 어떻습니까? – steveax
@stevax, 내 지식에 따르면, 설명 된 일반적인 IE 단점 옆에 키보드로 탐색하면 화면 판독기를 사용하든 아니든 포커스 이벤트를 의미합니다. 예를 들어 Safari에서 지원하는 VoiceOver는 키보드를 사용하여 콘텐츠를 감추고있는 동안 초점을 적용합니다. 그리고 tabindex는 페이지를 통해 사용자 탭이있을 때 특정 요소에 포커스를 강제로 적용하는 데 사용될 수 있습니다. – hexalys
어쩌면 내 의견에 분명하지 않았습니다. 내가 시도한 것은 화면 판독기 사용자와 화면 판독기를 사용하지 않는 키보드를 탐색하는 다른 이유 (아마도 a11y 관련)가있는 사람들을 구별 할 수 없으며 화면을 타겟팅하려고하는 사람들입니다 리더 사용자는 이런 식으로 큰 상처를 입을 수 있습니다. – steveax
+1. 필자는이 경험이 없지만 '
일반적으로 스크린 리더가 실행 중인지 여부를 감지 할 수 없습니다. (일부 내게 필요한 옵션 기술이 실행중인 경우에도 오디오 기반 스크린 리더가 아닐 수도 있습니다. 점자 기반 스크린 리더 또는 스크린 리더와 동일한 기술을 사용하는 명령 및 제어 음성 컨트롤 응용 프로그램 일 수 있습니다) 스크린 리더가 실행 중임을 알 수 있다면 어떻게 다르게하고 싶습니까? – BrendanMcK