Tôi muốn phát hiện xem trình đọc màn hình có đang chạy trên máy của người dùng hay không để tránh âm thanh xung đột với thẻ âm thanh trong html. Nếu có, vui lòng cung cấp chi tiết về cách thực hiện điều này.Có thể sử dụng javascript để phát hiện xem trình đọc màn hình có đang chạy trên máy người dùng không?
Trả lời
Bạn có lẽ không nên cố gắng làm bất cứ điều gì đặc biệt ngay cả khi bạn có thể phát hiện thấy một trình đọc màn hình đang chạy. Ngay cả khi bạn làm điều đó đúng cho một nhóm người dùng trình đọc màn hình, bạn có thể làm sai cho một nhóm khác. Tốt nhất là hãy tập trung vào việc viết HTML5 sạch tốt ngay từ đầu.
Lưu ý rằng không phải tất cả người dùng trình đọc màn hình đều sử dụng tính năng chuyển văn bản thành giọng nói; nhiều người sử dụng đầu ra chữ nổi. Ngoài ra, các loại công cụ trợ năng khác - chẳng hạn như nội dung đánh dấu và ứng dụng nhập bằng giọng nói - sử dụng các kỹ thuật và API tương tự (ví dụ: DOM, MSAA) mà trình đọc màn hình thực hiện, vì vậy bất kỳ kỹ thuật nào "phát hiện trình đọc màn hình" cũng có khả năng phát hiện những điều này - bạn không thể giả định rằng nó có nghĩa là người dùng hoàn toàn bị mù và chỉ sử dụng lời nói.
Hiện tại, thẻ âm thanh hiện không thể truy cập phổ biến, các trình duyệt khác nhau có các mức hỗ trợ trợ năng khác nhau - xem HTML5 Accessibility và cuộn xuống âm thanh để biết thêm chi tiết về hỗ trợ hiện tại. Tôi đã thấy một số trang thêm các điều khiển dựa trên HTML5 cộng với javascript sau thẻ âm thanh để họ có thể cung cấp giao diện người dùng của riêng họ để đảm bảo rằng người dùng bàn phím hoặc người dùng màn hình có thể phát/dừng âm thanh khi cần. (Cuối cùng, khi các trình duyệt bắt kịp, điều này không cần thiết.)
Theo như khả năng truy cập chung, WCAG 2.0 (Web Content Accessibility Guidelines) đề xuất rằng bất kỳ âm thanh nào phát tự động trong hơn 3 giây sẽ có phương tiện có thể truy cập để tạm dừng hoặc dừng âm thanh. (Tôi muốn đi xa hơn và khuyên bạn không nên sử dụng bất kỳ âm thanh tự động nào - khi sử dụng tính năng duyệt theo tab, thường không thể xác định tab nào sẽ phát ra âm thanh.)
Kẻ phản đối - hãy quan tâm giải thích lý do tại sao bạn bỏ phiếu? Có điều gì có thể được cải thiện với câu trả lời này không? – BrendanMcK
Theo liên kết http://northtemple.com/2008/10/07/javascript-and-screen-readers Vấn đề của bạn được giải quyết dứt khoát.
thanx Arun để biết thông tin :) – shuklendu
Xin chào bạn ......Tôi mới để stackoverflow pls bỏ phiếu cho câu trả lời của tôi nếu vấn đề của bạn được giải quyết – Untraceable
Hi Arun, liên kết của bạn không cung cấp thông tin hữu ích về việc làm cho Javascript có thể truy cập vào screenreaders; nhưng đó không phải là những gì mà OP đã hỏi. Họ muốn biết cách phát hiện một trình đọc màn hình * từ JS, liên kết mà bạn đăng lên không trả lời. – BrendanMcK
Bạn không thể phát hiện trình đọc màn hình bằng javascript, bạn không thể phát hiện màn hình độc giả sử dụng bất kỳ công nghệ phía khách hàng nào. Bạn có thể phát hiện phần mềm đang chạy ứng dụng khách MSAA bằng Flash. Thông tin chi tiết về cách hoạt động và lý do tại sao nó không hữu ích và không nên được sử dụng để phát hiện trình đọc màn hình có sẵn tại đây: Developer Beware: Using Flash to Detect Screen Readers
@billthelizard, sẽ hữu ích nếu bạn cung cấp lý do xóa nhận xét. –
Mặc dù có thể không hoàn toàn đáng tin cậy, có thể phát hiện tiến trình của trình đọc màn hình qua javascript bằng cách sử dụng tiêu điểm sự kiện, khi người dùng lướt qua nội dung.
"Liên kết điều hướng bỏ qua" ẩn (http://webaim.org/techniques/skipnav/) ẩn sẽ được tập trung, sẽ là một cách để phát hiện xem ai đó có đang sử dụng trình tạo màn hình hay không.
Mặc dù nó không giải quyết phần âm thanh của câu hỏi, tôi chỉ muốn cung cấp giải pháp từng phần này, vì tôi đang tìm kiếm các cách có thể để tự mình phát hiện trình đọc màn hình.
Điều gì về những người đang điều hướng bằng bàn phím người _aren't_ đang sử dụng trình tạo màn hình? – steveax
@stevax, Theo hiểu biết của tôi, bên cạnh các thuật ngữ IE thông thường được mô tả, việc điều hướng bằng bàn phím ngụ ý sự kiện tập trung cho dù bạn có sử dụng trình đọc màn hình hay không. Ví dụ, VoiceOver được hỗ trợ của Safari không áp dụng tiêu điểm trong khi lướt qua nội dung bằng bàn phím. Và một tabindex có thể được sử dụng để tập trung vào một yếu tố cụ thể theo thứ tự, khi tab người dùng thông qua trang. – hexalys
Có lẽ tôi không rõ ràng trong bình luận của tôi. Điểm tôi cố gắng tạo ra là không thể phân biệt giữa người dùng trình đọc màn hình và những người vì lý do nào khác (có thể liên quan đến11) điều hướng bằng bàn phím không sử dụng trình đọc màn hình và cố gắng nhắm mục tiêu màn hình người dùng đọc theo cách này có lẽ sẽ dẫn đến một túi lớn bị tổn thương. – steveax
- 1. C#: Cách phát hiện xem trình đọc màn hình có đang chạy không?
- 2. JavaScript có thể phát hiện xem trình duyệt của người dùng có hỗ trợ gzip không?
- 3. Phát hiện nếu người dùng có bất kỳ ứng dụng nào đang chạy ở chế độ toàn màn hình
- 4. Tôi có thể phát hiện khu vực có thể xem của người dùng trên trình duyệt không?
- 5. Có thể phát hiện xem VoiceOver có đang ở trên một trang web trên iPhone không?
- 6. Cách phát hiện xem tập lệnh có đang chạy trên máy ảo không?
- 7. Có cách nào để ứng dụng Java phát hiện xem màn hình có bị khóa không?
- 8. Cách phát hiện xem MemoryMappedFile có đang sử dụng không
- 9. Làm cách nào để biết người dùng có đang sử dụng nhiều màn hình hay không
- 10. Không thể phát hiện xem người dùng có đang chạy với đặc quyền cao hay không, khi không có cửa sổ bật lên UAC
- 11. Làm cách nào để phát hiện xem ứng dụng của tôi có đang chạy trên máy ảo không?
- 12. Làm cách nào để chương trình của tôi có thể phát hiện xem chương trình có đang chạy trên một miền cụ thể không?
- 13. Chương trình Java có thể phát hiện rằng nó đang chạy thấp trên không gian heap?
- 14. Làm cách nào để phát hiện xem máy ảnh có bị hạn chế bởi người dùng
- 15. Làm cách nào để phát hiện xem IDE Delphi cụ thể có đang chạy không?
- 16. Phát hiện xem Cửa hàng ứng dụng Windows 8 có màn hình cảm ứng hay không
- 17. Cách kiểm tra xem có đang chạy trên chuỗi giao diện người dùng trong Android không?
- 18. Trang web có thể biết nếu tôi đang chạy một bản người dùng không? Ví dụ:
- 19. Cách phát hiện, từ trình duyệt, nếu người dùng đang chạy trong phiên Máy tính từ xa?
- 20. Xác định xem chương trình có đang chạy trên Máy để bàn Từ xa
- 21. Cách phát hiện xem chúng tôi có đang ở trên một chuỗi giao diện người dùng không?
- 22. Trang web có thể phát hiện tiện ích trình duyệt nào đang được sử dụng không?
- 23. Javascript để phát hiện xem người dùng có thay đổi tab
- 24. JavaScript có thể phát hiện khi người dùng ngừng tải tài liệu không?
- 25. Kiểm tra xem không có người dùng nào hiện đang đăng nhập vào Windows
- 26. Phát hiện xem trình duyệt có ở chế độ toàn màn hình hay không
- 27. Phát hiện xem người dùng có tương tác với điện thoại không?
- 28. Trên Unix, tìm xem người dùng đã thực hiện chương trình có phải là root không?
- 29. Có cách nào để xác định xem ứng dụng Android có đang chạy toàn màn hình không?
- 30. Trình nghe Android để phát hiện khi màn hình đang được nhấn
+1. Tôi không có bất kỳ kinh nghiệm nào về điều này, nhưng chắc chắn một trình đọc màn hình hỗ trợ thẻ '
Thông thường, không thể phát hiện xem màn hình có đang chạy hay không. (Ngay cả khi một số công nghệ trợ năng đang chạy, nó có thể không phải là trình đọc màn hình dựa trên âm thanh: có thể là trình đọc màn hình chữ nổi hoặc ứng dụng điều khiển bằng giọng nói và điều khiển sử dụng một số kỹ thuật tương tự như trình tạo màn hình .) Bạn muốn làm gì khác nếu bạn có thể xác định rằng trình chạy màn hình đang chạy? – BrendanMcK