首页 > 代码库 > 隐藏的几种实现

隐藏的几种实现

 页面布局上隐藏,但是对屏幕阅读器可见的几种方式:
     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;
    width: 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)字符集语言友好。 即该技术应该同时支持从右到左,从左到右的界面,如阿拉伯文和希伯来文。

隐藏的几种实现