2011-01-20 38 views
6

Hiện tại, chúng tôi đang thử nghiệm triển khai bản đồ "nhanh" (tức là những bản đồ di chuyển xung quanh bằng ngón tay trên thiết bị màn hình cảm ứng) trên ứng dụng web di động của chúng tôi, sử dụng thư viện JavaScript touchmaplite. Bản đồ này được nhúng dưới dạng iframe trong trang web của chúng tôi.Có thể phát hiện xem VoiceOver có đang ở trên một trang web trên iPhone không?

Khi thử nghiệm thiết lập này trên iPhone với VoiceOver, chúng tôi thấy VoiceOver bị "kẹt" trên bản đồ và sẽ không đọc qua (hoặc thực sự cuộn qua nó). Đây là một trở ngại lớn đối với chúng tôi, chúng tôi không muốn quay trở lại với hỗ trợ trợ năng trên trang web của chúng tôi.

Có thể đánh dấu một thành phần là "bị bỏ qua" bởi VoiceOver hoặc để phát hiện xem VoiceOver có được bật theo bất kỳ cách nào khác (có thể là JS) và sau đó ẩn/xóa iframe không?

Cảm ơn

Trả lời

1

Tôi biết với Windows, đã có một số thảo luận về cách phát hiện xem màn hình đang được sử dụng hay chưa. Một phương pháp có thể (nhưng không đáng tin cậy) đã được đề cập, có liên quan đến việc sử dụng ActionScript trong Flash để xem lớp Khả năng truy cập hoạt động WMicrosoft đang được sử dụng hay chưa. (http://www.paciellogroup.com/blog/?p=61)

Rõ ràng điều này không được sử dụng nhiều khi bạn đang nhắm mục tiêu giọng nói qua người dùng, những người sẽ không có hỗ trợ Flash trên thiết bị của họ, nhưng tôi đề cập đến chỉ để bạn biết những nền tảng khác làm gì - tôi không quá quen thuộc với Táo, do đó, không biết liệu có bất kỳ điều gì tương tự với Flash mà bạn có thể sử dụng hay không.

Trong trường hợp của bạn, bạn có thể sử dụng văn bản ẩn, bao gồm liên kết, được chọn bởi người đọc màn hình, nhưng không được người dùng nhìn thấy, sẽ trỏ tới trang thay thế cho người dùng trình đọc màn hình; trang thay thế này có thể sao chép trang hiện tại của bạn, chỉ cần không có bản đồ được nhúng.

Cách khác, chỉ có liên kết ẩn mà người dùng lồng tiếng \ screenreader có thể bỏ qua bản đồ, có thể cảnh báo họ về vấn đề với VoiceOver bị 'kẹt'.

Có thể đạt được văn bản ẩn bằng cách sử dụng CSS để định vị văn bản có lề âm, ví dụ:

.hiddenText { 
position: absolute; 
margin-left: -3000px; 
} 

Sử dụng văn bản theo cách này có nghĩa là không hiển thị với người dùng được nhìn thấy (trừ khi họ tắt CSS), nhưng vẫn được đọc bởi người đọc màn hình.

Không có giải pháp nào là những gì bạn thực sự đang tìm kiếm tôi sợ, nhưng có thể cung cấp cho bạn một số ý tưởng.

Các vấn đề liên quan