前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >landmark浅析

landmark浅析

原创
作者头像
RP道貌不岸然
发布2017-11-22 00:01:55
8830
发布2017-11-22 00:01:55
举报
文章被收录于专栏:ThinksThinks

作为WAI-ARIA中的一个角色,landmark作为页面的路标可以使辅助技术客户端方便快捷的在相应的区域

间进行快速切换,并读出辅助信息。

以NVDA为例子,按D或者shift+D可以顺序或者逆序的在这些标记了landmark的role的元素间切换,比如

下列代码:

<div role="navigation"><!--导航区书签-->

<ul>

<li><a href="#">news</a></li>

<li><a href="#">books</a></li>

</ul>

</div>

会读成:导航区书签,列表有二个项目,链接news,链接books,推出列表。

landmark有8个值,在NVDA除了application和form没有读出辅助信息,其余6个值对应辅助信息如下(xp

ie7环境/7 ie9环境):

banner:横幅区书签

navigation:导航区书签

search:搜索区书签

main:工作区书签/主内容区书签

complementary:补充区书签/补充内容区书签

contentinfo:内容信息书签

遇到的问题:

1.最开始看到contentinfo的时候,下意识认为是标注给文章的,其实是应该标注给版权和隐私信息区

域。

2.如果一个页面里有多个role="navigation"的话,可使用arai-labelledby来进行关联。推荐的导航标准结构是:

<h2>主导航</h2>

<ul>

<li><a></a></li>

...

<li><a></a></li>

</ul>

那么添加role和arai-labelledby之后的样子应该是:

<h2 id="mainNav">主导航</h2>

<ul role="navigation" aria-labelledby="mainNav">

<li><a></a></li>

...

<li><a></a></li>

</ul>

<h2 id="subNav">副导航</h2>

<ul role="navigation" aria-labelledby="subNav">

<li><a></a></li>

...

<li><a></a></li>

</ul>

3.如果一个表单里只有跟搜索相关的东西,那么这个表单的role设置为search要好与设置为form。

4.complementary和main的层级关系,原文如下:A supporting section of the document, designed to be complementary to the main content at a similar level in the DOM hierarchy, but remains meaningful when separated from the main content.有上下文中对此层级的描述并没有涉及到SHOULD和MUST等关键词,所以如果可以的话尽量保证一个平行的兄弟层级关系,如果不能的话,也不必纠结。

读屏软件支持情况:

国内,不支持,本地测试环境:争渡公益,永德6.3,另外争渡团队成员也告诉我永德最新版也不支持。

国外,支持,本地测试环境:NVDA

landmark算是成本最小见效最快的一种无障碍的优化方式了,据悉争渡下个版本也要开始支持landmark了。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档