Sự khác nhau giữa ba đối tượng này với người dùng trình đọc màn hình là gì?display: none vs visibility: hidden vs text-indent: 9999 Trình đọc màn hình hoạt động như thế nào?
display: none vs visibility: hidden vs text-indent: 9999 Trình đọc màn hình hoạt động như thế nào?
Trả lời
tham khảo: http://css-discuss.incutio.com/?page=ScreenreaderVisibility
display: none: sẽ không được nhìn thấy và cũng không nghe. *
khả năng hiển thị: bị ẩn: sẽ không được nhìn thấy hoặc không nghe thấy. *
thụt lề văn bản: 9999: sẽ không hiển thị nhưng sẽ được nghe thấy.
- Hầu hết các trình đọc màn hình sẽ không 'nói chuyện' display: none và visibility: hidden, nhưng có một vài trình đọc màn hình như pwWebSpeak và HtReader mà sẽ đọc ngay cả những quá.
Tôi đã thử nghiệm với đầu đọc màn hình NVDA và nó đọc những yếu tố được ẩn theo hiển thị: không có –
Có một nhận xét tương tự trong liên kết tôi đã chỉ định. RTIMO. –
Khả năng trên không hoạt động với JAWS trong IE –
Có một bản tóm tắt rất tốt về cách trình đọc màn hình diễn giải các thuộc tính này tại WebAIM.
Tóm lại, visibility: hidden
và display:none
sẽ ẩn văn bản khỏi trình đọc màn hình giống như văn bản của người khác. Tất cả các phương pháp khác sẽ được hiển thị cho trình đọc màn hình.
Nhưng tôi đã tải xuống phần mềm đọc màn hình NVDA và nó đọc hiển thị: không có nội dung –
Vâng, thật không may, trình đọc màn hình không phù hợp với các trình duyệt được nhìn thấy khi nói đến CSS. Tiêu chuẩn này được mô tả ở trên, nhưng sẽ luôn có một vài tiêu chuẩn bỏ qua. – anschauung
Tôi thấy rằng đầu đọc màn hình NVDA không đọc nội dung 'display: none' nếu nó ở trạng thái đó khi màn hình tải; nhưng nếu javascript được sử dụng để thay đổi trạng thái thành 'display: none' thì trình đọc màn hình không nhận ra và đọc nội dung. –
Có giải thích tốt về điều này trong Danh sách ngoài. http://www.alistapart.com/articles/fir/ Nó phụ thuộc vào sản phẩm.
PRODUCT DISPLAY: NONE VISIBILITY: HIDDEN Hal version 5.20 Does not read Reads IBM Home Page Reader 3.02 Does not read Does not read Jaws (4.02, 4.50, 5.0 beta) Reads Reads OutSpoken 9 Does not read Does not read Window-Eyes 4.2 Does not read Does not read
Có nội dung ẩn many techniques để ẩn nội dung trực quan nhưng có sẵn cho trình đọc màn hình.
Kỹ thuật H5BP hoạt động trong FF, Webkit, Opera và IE6 +
.visuallyhidden {
border: 0;
clip: rect(0 0 0 0);
height: 1px;
margin: -1px;
overflow: hidden;
padding: 0;
position: absolute;
width: 1px;
}
Hoàn Answere là ở đây để đảm bảo chrome doesnt hộp autoshow/tự động điền dữ liệu vào. Trên trang web của tôi (Người dùng mới), trường điện thoại và mật khẩu fioeld đã được tự động điền với dữ liệu được lưu trong bộ nhớ cache. Để loại bỏ điều này, tôi đã tạo hai trường giả và cho chúng một lớp khiến chúng vô hình đối với người dùng. Một hàm jquery để hiển thị và sau đó ẩn chúng sau một phần nhỏ.
Jquery chức năng để hiển thị & hide:
$().ready(function() {
$(".fake-autofill-fields").show();
// some DOM manipulation/ajax here
window.setTimeout(function() {
$(".fake-autofill-fields").hide();
}, 1000);
});
Class:
.fake-autofill-fields
{
border: none;
clip: rect(0 0 0 0);
height: 1px;
margin: -1px;
overflow: hidden;
padding: 0;
position: absolute;
width: 1px;
}
lĩnh vực đầu vào:
<input style="display:none" type="text" class="fake-autofill-fields" name="fakeusernameremembered"/>
<input style="display:none" type="password" class="fake-autofill-fields" name="fakepasswordremembered"/>
Các trường nhập:
- 1. Hiển thị CSS: none và visibility: hidden
- 2. jquery animate opacity vs display: none
- 3. Sự khác biệt giữa overflow: hidden và display: none
- 4. (jQuery) Chuyển đổi kiểu div "display: none" thành "display: inline"
- 5. Meteor hoạt động như thế nào, Client vs Server?
- 6. Máy quét màn hình hoạt động như thế nào?
- 7. mingw -fvisibility = hidden dường như không hoạt động
- 8. Hoạt hình mờ dần | jQuery vs js tinh khiết | setInterval vs. setTimeout
- 9. CSS display: inline vs inline-block
- 10. "0" vs "none" như giá trị thuộc tính css
- 11. Trình xem ảnh toàn màn hình của Facebook hoạt động như thế nào?
- 12. Android - Hoạt động vs Lượt xem
- 13. Python: nếu không phải val, vs nếu val là None
- 14. Trình bundler hoạt động như thế nào?
- 15. Liệu display: none vẫn sử dụng thực hiện render
- 16. jQuery .live() hoạt động như thế nào?
- 17. SiteMesh - vẫn hoạt động? v2 vs v3?
- 18. Chuyển tiếp CSS3 fadein có màn hình: none
- 19. CSS Các lựa chọn thay thế cho style = "display: none"
- 20. Phần Màn hình của hệ thống Google+ Feedback hoạt động như thế nào?
- 21. Setting iFrame CSS display: none trong tải
- 22. Tính năng đọc của Safari hoạt động như thế nào?
- 23. JPA: Khóa đọc hoạt động như thế nào?
- 24. xlarge vs màn hình sw720dp nhầm lẫn kích thước
- 25. tìm vs hoạt động trong chuỗi python
- 26. Terminal đọc từ stdout như thế nào và vẽ văn bản trên màn hình?
- 27. Các trường mô hình Django hoạt động như thế nào?
- 28. Ứng dụng Android vs Hoạt động
- 29. XPath vs DeSerialization: cái nào có hiệu suất tốt hơn cho hoạt động đọc
- 30. currentPopoverFromRect hoạt động như thế nào?
Tôi có một số kinh nghiệm với trình đọc màn hình, mặc dù hạn chế, nhưng tôi sẽ nghĩ rằng họ bỏ qua CSS ... làm người đọc màn hình hiện đại cũng bỏ qua nội dung tạo javascript? – Zoidberg
JAWS (http://www.freedomscientific.com/products/fs/jaws-product-page.asp), trình đọc màn hình phổ biến nhất (http://www.webaim.org/projects/screenreadersurvey2/) không phải là một trình duyệt chuyên dụng, nhưng một ứng dụng làm cho các chương trình khác, chẳng hạn như trình duyệt, có thể truy cập. Tôi không biết chính xác nó hoạt động như thế nào, nhưng tôi đoán nó chỉ là những con heo con trên công cụ dựng hình của trình duyệt để quyết định điều gì cần nói. – mercator
Tại sao bạn muốn một văn bản ẩn được đọc ra ?. Có biết những gì ẩn giấu?Tôi đang cố gắng hiểu ứng dụng của thuộc tính CSS này tốt hơn để bạn biết nên sử dụng ứng dụng nào khi. – user1815356