Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >landmark浅析

landmark浅析

原创
作者头像
RP道貌不岸然
发布于 2017-11-21 16:01:55
发布于 2017-11-21 16:01:55
9800
举报
文章被收录于专栏: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 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
初识ARIA时我希望有人告诉我的事:Web无障碍开发指南
ARIA(无障碍富互联网应用)是处理Web无障碍性时不可避免的技术。它如同调味料,通过增强HTML标记为屏幕阅读器和语音控制软件提供额外信息:
qife122
2025/08/17
1160
写前端代码时请多为残障人士思考之『Accessibility』
Accessibility,通常缩写为 A11Y ,这缩写取的是首字母 + 中间字母长度 + 结尾字母,译为 “可访问性”。这是一种让尽可能多的人访问我们所开发的网站的技术概念,通过这个概念,让互联网访问公平变得可能。
陈大鱼头
2020/04/16
1.8K0
写前端代码时请多为残障人士思考之『Accessibility』
Web内容的无障碍性(3):ARIA角色Roles值示与aria-*属性值列表说明
上篇《Web内容的无障碍性(2):实现WAI-ARIA无障碍网页及注意实现》,知识讲解ARIA相关的知识及使用,但是ARIA角色值与属性值都非常多,除了几个简单,基本是处于懵逼状态。本文对几年前张鑫旭老师的《WAI-ARIA无障碍网页应用属性完全展》的属性表的简化增补版本
周陆军博客
2023/05/07
2.4K0
Web内容的无障碍性(2):实现WAI-ARIA无障碍网页及注意
上篇《Web内容的无障碍性(1):概述为什么Accessibility无障碍如此重要》概述了Web无障碍设计,先来复习一下概念:
周陆军博客
2023/05/07
1.1K0
flask base.html解析(flask 47)
{% from 'bootstrap/nav.html' import render_nav_item %} <!DOCTYPE html> <html lang="en"> <head> {% block head %} <meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"> <title>{% block title %}{% endblock title %} - {{ admin.blog_title|default('Blog Title') }}</title> <link rel="icon" href="{{ url_for('static',filename='favicon.ico') }}"> <link rel="stylesheet" href="{{ url_for('static',filename='css/%s.min.css' % request.cookies.get('theme','perfect_blue')) }}" type="text/css"> <link rel="stylesheet" href="{{ url_for('static',filename='css/style.css') }}" type="text/css"> {% endblock head %} </head> <body> {% block nav %} <nav class="navbar navbar-expand-lg navbar-dark bg-primary"> <div class="container"> <a class="navbar-brand" href="{{ url_for('blog.index') }}"> {{ admin.blog_title }} </a> <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarColor01" aria-controls="navbarColor01" aria-expanded="false" aria-label="Toggle navigation"> <span class="navbar-toggler-icon"></span> </button> <div class="collapse navbar-collapse" id="navbarColor01"> <ul class="navbar-nav mr-auto"> {{ render_nav_item('blog.index', 'Home') }} {{ render_nav_item('blog.about', 'About') }} </ul> <ul class="nav navbar-nav navbar-right"> {% if current_user.is_authenticated %} <li class="nav-item dropdown"> <a href="#" class="nav-link dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false"> New <span class="caret"></span> </a> <div class="dropdown-menu" aria-labelledby="navbarDropdown"> <a class="dropdown-item" href="{{ url_for('admin.new_post') }}">Post</a> <a class="dropdown-item" href="{{ url_for('admin.new_category') }}">Category</a> <a class="dropdown-item" href="{{ url_for('admin.new_link') }}">Link</a> </div> </li> <li class="nav-item dropdown"> <a href="#" class="nav-link dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false"> Manage <span class="
用户5760343
2019/08/15
8000
通过创建小测验学习无障碍
在这个课程中,你将建立一个测验网页。你将学习诸如键盘快捷键、ARIA 属性和设计最佳实践等无障碍工具。
姓王者
2024/10/31
1340
通过创建小测验学习无障碍
【译】W3C WAI-ARIA最佳实践 -- 表单
三态复选框的一种常见使用场景是在软件安装时,一个单独的三态复选框用来代表和控制整个安装选项组的状态。并且,该组中的每个选项都可以单独使用双态复选框开启或关闭。
韩宇波
2018/05/30
9.9K0
bootstrap5基本使用
container是最基本的布局。 给一个元素的class赋值为container之后,如果显示屏幕小于576,元素将要横向占满屏幕,但是大于576小于576像素的时候,宽度恒定为540,。就是说你的屏幕很宽的时候,元素永远不会横向占满整个屏幕,与边距有孔隙。但是赋值为.container-fluid的时候,元素永远横向占满屏幕,不会留有孔隙。
Crayon鑫
2023/10/10
1K0
bootstrap5基本使用
【python自动化】Playwright基础教程(三)定位操作
上文我们已经能够成功进行登录操作了。对于里面的一些定位方式,输入,点击等操作,在这一节,我们直接进行一个大汇总。以后遇到直接来这里搜。
梦无矶小仔
2023/09/19
2.1K0
【python自动化】Playwright基础教程(三)定位操作
HTML5实现好看的端午节网页源码
在数字浪潮汹涌澎湃的时代,程序开发宛如一座神秘而宏伟的魔法城堡,矗立在科技的浩瀚星空中。代码的字符,似那闪烁的星辰,按照特定的轨迹与节奏,组合、交织、碰撞,即将开启一场奇妙且充满无限可能的创造之旅。当空白的文档界面如同深邃的宇宙等待探索,程序员们则化身无畏的星辰开拓者,指尖在键盘上轻舞,准备用智慧与逻辑编织出足以改变世界运行规则的程序画卷,在 0 和 1 的二进制世界里,镌刻下属于人类创新与突破的不朽印记。
xcLeigh
2025/02/25
3010
HTML5实现好看的端午节网页源码
BootStrap应用开发学习入门1
什么是字体图标? 答:字体图标是在 Web 项目中使用的图标字体,可以通过基于项目的 Bootstrap 来免费使用这些图标。
全栈工程师修炼指南
2020/10/23
47.4K0
BootStrap应用开发学习入门1
【译】W3C WAI-ARIA最佳实践 -- 控件
手风琴是个垂直罗列的元素组合,例如标签或缩略图,这允许用户切换内容模块的展示。每个标签元素可以被用来展开折叠、暴露隐藏其相关内容。手风琴一般被用来减少页面滚动,当在单个页面中呈现很多内容模块时。
韩宇波
2018/05/30
5.5K0
【译】W3C WAI-ARIA最佳实践 -- 布局
面包屑包含当前页面的父页面的链接列表,该列表是层级顺序的。它可以帮助用户在网站或网络应用程序中找到自己的位置。面包屑通常水平放置在页面的主要内容之前。
韩宇波
2018/05/30
7.5K0
你所不知道的html5与html中的那些事(三)
文章简介: 关于html5相信大家早已经耳熟能详,但是他真正的意义在具体的开发中会有什么作用呢?相对于html,他又有怎样的新的定义与新理念在里面呢?为什么一些专家认为html5完全完成后,所有的工作都可以达到真正的云方式呢?这一系列的问题你是否已经想明白了呢? 本系列文章将为您一一解答你所不知道的关于html5与html中的那些事;具体会包括如:html5新的理念与想法,html5的新标签的用意与具体开发中场景应用,html5与css3的感情经历(用法搭配),包括html5的父亲html的一些
程序员互动联盟
2018/03/12
9480
【Java 进阶篇】深入了解 Bootstrap 组件
Bootstrap 是一个流行的前端框架,提供了丰富的组件,用于创建各种网页元素和交互效果。这些组件可以帮助开发者轻松构建漂亮、响应式的网页,而无需深入的前端开发知识。在本文中,我们将深入探讨 Bootstrap 中一些常用的组件,适合初学者,帮助他们更好地理解和应用这些元素。
繁依Fanyi
2023/10/22
1.5K0
【Java 进阶篇】深入了解 Bootstrap 组件
python web开发 Bootstrap框架基础
popper.js cdn:https://unpkg.com/@popperjs/core@2 jquery.js https://code.jquery.com/jquery-3.6.0.js
Michael阿明
2022/01/07
1.2K0
python web开发 Bootstrap框架基础
前端无障碍开发指南
30年前,Tim Berners-Lee 在欧洲核子研究中心创建了第一个 Web 网页,宣告了万维网的诞生。自此,万维网就承载着开放平等的愿景。
ThoughtWorks
2023/05/22
1.5K0
前端无障碍开发指南
Fluid -32- 配置 Umami 事件统计显示
本文记录在 Fluid 主题中加入 Umami 点击事件统计的方法。 Umami 配置 需要 安装 Umami 建议升级到 1.39 以上版本,支持事件显示 修改主题 我准备统计导航、 Footer 的点击事件 需要对主题配置文件和主题文件做出一些修改 原理 为了操作简单,我们采用修改 CSS 类的方式 为想要统计的事件元素上添加 umami--event--name 类名 配置文件修改 footer 为想要监控的链接添加点击事件监控代码 添加 umami--click--name 类名 12
为为为什么
2023/02/21
7110
Fluid -32- 配置 Umami 事件统计显示
bootstrap 滚动监听
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Bootstrap 实例 - 滚动监听(Scrollspy)插件</title> <link rel="stylesheet" href="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/css/bootstrap.min.css"> <script src="https://cdn.staticfile.org/jquery/2.1.1/jquery.min.js"></script> <script src="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/js/bootstrap.min.js"></script> </head> <body>
用户5760343
2019/07/05
1.6K0
[读书笔记]响应式web设计 转
@media screen and (max-device-width:400px){ 
LeoXu
2018/08/15
4K0
相关推荐
初识ARIA时我希望有人告诉我的事:Web无障碍开发指南
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档