页面布局上隐藏,但是对屏幕阅读器可见的几种方式:
1, .h{position:relative; left:-900em;top:-900em;}
2, .h{position:absolute; clip:rect(1px 1px 1px 1px)} //采用clip必须对该元素进行绝对定位!采用clip来对其隐藏 ,对clip的详解请看下面的转载!!
3, .h{text-indient: -999em;}
4, html5boilerplate的实现方式参考:
.visuallyhidden {
border: 0;}
clip: rect(0 0 0 0);
height: 1px;
margin: -1px;
overflow: hidden;
padding: 0;
position: absolute;
1px;
页面布局隐藏,同时对屏幕阅读器也隐藏:
1, .h{display:none;} //页面布局上也隐藏,没有该元素的位置
2, .h{visibility:hidden;}
3, .h{overflow:hidden; height:0px;} //这个隐藏原理主要是因为 overflow,而不是height
4, .h{display:none;visibility:hidden;} //最好都写上。
转载:
技术与挑战
您可以查看Hiding Content for Accessibility,这篇文章总结了不同的技术及其陷阱,但总之,每种方法都要解决下面这些共同问题:
- 它应使元素消失(仿佛文档中不存在该元素):这意味着应该没有多余的空白、没有滚动条、不能出现与层叠相关的问题(不可点击)等。
- 当隐藏容器中的元素获得焦点时,应防止出现意外的滚动。 (可使用tab键进行测试)也就是说,当用户使用tab导航到隐藏容器内的可聚焦的元素时,网页不应该跳跃。
- 双向(bidi)字符集语言友好。 即该技术应该同时支持从右到左,从左到右的界面,如阿拉伯文和希伯来文。