UI 学习 三 可访问性 UX

news2025/4/17 14:39:50

设计、交流和实现不同领域内容的易访问性决策,涉及到一系列考虑因素,以达到更容易访问的产品体验。

Material使用的框架借鉴了WCAG标准和行业最佳实践,以帮助任何人预测、计划、记录和实现可访问体验。

下面描述的三个阶段有助于将可视化UI转换为基于文本的线性用户体验,并将其映射到代码。

一 概述

易访问性标记是为设计规范创建文档的一个组成部分。

产品的可访问性有三个关键方面需要指定:结构流程和屏幕上的元素

二 结构:标识和标题

定义内容和UI布局以改进导航和便于功能理解。

辅助技术(AT)依靠清晰、轮廓分明的结构来处理页面信息,主要通过使用标题和标识进行导航。许多辅助技术,如屏幕阅读器,将设计转换为线性体验,这意味着许多用户以分层的、预先确定的顺序与内容交互。因此,提前考虑结构决策可以提高产品的可访问性。

仅适用于网页:地标和标题可以帮助辅助技术用户定位到网页,并允许轻松导航和遍历文档或页面的大部分内容。

通过对页面的各个部分进行分类和标记,通过布局设计可视化地传达的结构信息,也可以用代码实现,并通过页面显示。

一个页面关系图的例子,它映射了一个UI的区域,以便考虑相对的标志和标题 

  • banner 网站logo,或网站名字
  • search 搜索
  • navigation 导航
  • main 主要信息展示区域
  • region padding之内的信息展示区域
  • complementary  补充内容,有些后台现在没有这部分

2.1 识别标识和标题

2.1.1 定义标识

标识是建立布局高层结构的大块内容。它们是一组ARIA角色,为web页面的公共内容区域提供了方便的访问和重要的意义。

有八个角色:导航、搜索、主要区域、横幅、补充、内容信息、区域和表单。

W3C ARIA指南中的八个里程碑式角色包括:

  1. 导航:包含导航链接列表(可以有多个,在这种情况下,您应该在标签中进行区分)
  2. 搜索:搜索字段
  3. 主要区域:由UX定义的主要内容区域。应该只有一个。
  4. 横幅:通常是页眉;页面之间重复的内容通常包含导航和工具栏。应该只有一个。
  5. 补充性:可以独立于主要内容的侧边栏或侧边栏
  6. 内容信息:通常是页脚;包含描述网站及其内容的信息(例如,版权)。应该只有一个。
  7. 区域:内容区域是重要的内容块。它们可以嵌套在“主”地标内。区域应该用名称标记,使该区域的目的清晰。
  8. 表单:获取并存储用户信息

添加无障碍标签

向多次出现的任何里角色(通常是区域或导航)添加清晰且特定的标签。这将有助于用户区分信息。

所有地区以及任何标识都应添加标签,标签将增强其意义。例如,解释侧边栏的内容或目的。

不要在标签中重复标识角色。

这个布局有两个区域分配了导航角色。

每个标识都应该有一个唯一的标签,以帮助用户区分元素之间的区别。 

2.1.2 定义标题

 

使用辅助技术的用户经常在标题的帮助下浏览网页。它们创建了一个清晰的层次结构来帮助用户导航和操作。

  1. 根据内容层次结构而不是视觉样式来定义标题
  2. 标题不应该跳过一个级别,例如,不要从H2直接到H4,而不使用H3
  3. 根据内容的层次结构,将页面上的内容按顺序映射到标题(H1-H6)
  4. 建议使用一个H1作为页面整体标题

标题展示例子,图中h1到h4标签为html代码。

除了风格之外,还要考虑层次结构。

确保标题与整体的标题一致。如果他们不这样做,考虑改变UI中的标题样式,确保用户体验良好,或者添加标签。

人话:主标题(页面整体标题)内容下子标题要和主标题信息相关,否则应改变UI中的样式。其实不相关的信息,不应该在一个页面中都设置为标题。

标题级别由布局的信息体系结构展示——应用于一组项目的结构层次结构。页面的视觉样式不需要在视觉突出和视觉层次方面匹配标题级别。(这个不太懂)

人话:标题仅用于信息展示,其组内内容,没必要在视觉突出和视觉层次方面和标题匹配。比如H1组内的信息,非标题内容,没必要字号比小组中字号大。

当然,仅个人理解……

三 流程:焦点顺序和键盘导航

定义和优化线性和键盘辅助用户体验。

屏幕阅读器、键盘和其他辅助技术用户,可以在不使用传统鼠标或触摸屏的情况下,处罚导航并与应用程序交互。能够通过使用标签、箭头和其他常见的导航按钮,完成他们在应用程序中的使用目标。通过有策略地排序元素位置简化流程,并降低整个页面的复杂性。

通过使用预定义的选项卡排序,避免增加更多的操作,除非用户操作需要特殊定制。默认阅读顺序遵循DOM(内容在源代码中编写的顺序),通常从左到右;从上到下。键盘导航可以在公共组件中预先定义。使用默认模式(详见:UI 学习 二 可访问性 模式-CSDN博客),除非有打破默认模式的用户体验模式或自定义组件。

3.1 用例分组

用例分为主要和次要用户操作重要性。用例的优先级应该影响关于用户操作优先级的决策。

3.2 定义初始焦点和组件级焦点

焦点是指哪个控件是当前用户交互的活动目标,例如鼠标点击或键盘点击。通常,tab键在交互元素之间移动焦点。

定义用户加载屏幕时的初始焦点,以及具有多个交互元素(如复杂的卡片或对话框)的组件的初始焦点。

在Google主页的例子中,尽管在页面的搜索字段上方和周围有链接和按钮,但应将用户最初的注意力放在支持最常见用户目标的元素上。

当元素由用户激活或用户更改上下文时,焦点尤为重要。

例如,当一个对话框被触发时,检查以下内容:

  1. 焦点被设置为对话框组件,可能是对话框中的特定交互元素,例如文本输入字段或编辑按钮
  2. 当用户关闭或取消对话框时,焦点将返回到启动该操作的交互元素

 1、定义初始焦点和组件级焦点

3.3 定义非典型键盘导航

用户应该能够使用选项卡、方向键和其他键盘快捷键完成主要和次要用户操作。

 通过标签导航卡片上的交互元素,体现操作顺序和操作重要性。

Tab通常在交互元素之间移动焦点,通常用作主要导航。Tab + Shift反转方向。

箭头键通常用于在组件中导航(例如,在表单中的单元格之间移动或遍历菜单中的选项)。

点击激活链接或按钮,或者在表单提交按钮具有焦点时提交表单。

在独特布局和用例的情况下,可以帮助将一组交互元素分组为单个选项卡。

并使用箭头键遍历子元素。

  1. 使用Tab导航进行焦点组
  2. 使用箭头键遍历子元素

四 元素

添加辅助功能标签、定义角色并指示装饰元素

需要标签的视觉元素

  1. 没有可见文本或文本中没有足够上下文的交互式图标或按钮(例如,带有铅笔图标的编辑按钮)
  2. 交互式图像
  3. 视觉提示(包括进度条和错误处理)
  4. 有意义的图标,(例如:e.g., 状态图标)
  5. 有意义的图像(例如:图表、图片和插图)

文本元素需要标签来添加额外的上下文

  1. 一般链接,如(例如:“了解更多”)
  2. 带有通用文本的按钮(例如:“保存” 当页面上有多个这样的按钮时)

不需要标签的元素

  1. 非交互式UI文本,因为这将由屏幕阅读器自动读取
  2. 带有足够文字的按钮,(例如:“下载图像”)

注意:本文使用通用术语的可访问性标签来指代几种不同的类型,包括ARIA标签和alt标签。当可访问性标签在代码中实现时,它们将被转换为平台的适当类型。此外,角色这个术语用于涵盖web应用程序的一般组件控制类型和ARIA角色。

4.1 标签元素

易访问性标签帮助那些不能依赖产品视觉界面的用户。

周到的标签有助于使基于文本的体验与视觉体验一样可用。

标签应该简明地描述元素的内容、目的和行为。

示例:这些图标的可访问性标签描述了它们的用途,而不是图标的外观(例如,“放大镜”)。

4.2 为有意义的图像和交互元素添加标签

在视觉上添加标签,以传达意义或增强内容。

标签应该简洁,具有描述性,并传达图像的内容和背景。

这适用于在支持文档中找到的信息图图形和其他有指导意义的图像。

 标签“语音搜索”描述了与输入法(语音)配对的用户任务(搜索)。

不要在标签中包含元素类型(按钮、菜单等)。这将通过为元素分配适当的角色而自动添加。

 microphone:麦克风

隐藏图像

装饰性的图标和图像不能增强视障用户的体验,应该标注为装饰性,以便将它们隐藏在代码中。

不太理解……装饰性元素是点击无效果吗?

 将装饰性视觉元素标记为“隐藏”。

4.3 为交互元素分配角色

ARIA角色适用于web应用程序,并指定如何在HTML之上增加网页的可访问性。

  1. 对于web,为所有交互元素分配ARIA角色
  2. 对于非web,根据您的设计系统组件(按钮,滑块,菜单等)分配角色。

分配ARIA角色(web)或组件类型(移动端)来将期望的交互模式传递到操作中。请注意,有些视觉元素可能看起来相同,但行为不同。

通过为交互元素分配角色来定义它的类别,可以帮助使用辅助技术的用户建立对如何与该元素交互的期望,并预测交互时可能发生的事情。

 不要在标签中包含控件类型。屏幕阅读器会自动添加控件,所以您可以让它重复(例如:“Got it button button”,差不多就是“点我!点我!”)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1518956.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SIMATIC C7-635西门子触摸屏维修6ES7635-2EB02-0AE3

西门子工控机触摸屏维修C7-626/P西门子控制面板维修DP Panel 6ES7626-1DG03-0AE3;6ES7626-2DG04-0AE3 SIMATIC HMI移动面板维修(西门子面板)可轻松进行电源管理与操作,成为移动应用的可能之选。该面板支持线缆或 Wi-Fi 通信&…

Weblogic 常规渗透测试环境

测试环境 本环境模拟了一个真实的weblogic环境,其后台存在一个弱口令,并且前台存在任意文件读取漏洞。分别通过这两种漏洞,模拟对weblogic场景的渗透。 Weblogic版本:10.3.6(11g) Java版本:1.6 弱口令 环境启动后…

数字孪生与智慧城市:实现城市治理现代化的新路径

随着信息技术的迅猛发展,智慧城市已成为城市发展的必然趋势。数字孪生技术作为智慧城市建设的重要支撑,以其独特的优势为城市治理现代化提供了新的路径。本文将探讨数字孪生技术在智慧城市中的应用,以及如何实现城市治理的现代化。 一、数字…

OJ_还是畅通工程

题干 #include <iostream> #include <vector> #include <algorithm> using namespace std;//并查集的应用&#xff1a;判断图的连通性int set[10001]; //i下标是集合数据编号,set[i]是i的父亲的编号 //若i是根&#xff0c;可令set[i] i void InitDisjointSe…

Docker容器化技术(使用Dockerfile制作Nginx镜像)

编写Dockerfile制作Web应用系统nginx镜像&#xff0c;生成镜像名为nginx:v1.1&#xff0c;并推送其到私有仓库。 1、基于centos7基础镜像&#xff1b; 2、指定作者为Chinaskill&#xff1b; 3、安装nginx服务&#xff0c;将提供的dest目录传到镜像内&#xff0c;并将de…

案例分析篇00-【历年案例分析真题考点汇总】与【专栏文章案例分析高频考点目录】(2024年软考高级系统架构设计师冲刺知识点总结-案例分析篇-先导篇)

专栏系列文章&#xff1a; 2024高级系统架构设计师备考资料&#xff08;高频考点&真题&经验&#xff09;https://blog.csdn.net/seeker1994/category_12593400.html 案例分析篇01&#xff1a;软件架构设计考点架构风格及质量属性 案例分析篇11&#xff1a;UML设计考…

YOLO学习

至少不比原来差 网格大小&#xff1a;13、26、52 不同感受野匹配 损失函数是对数 二分类

通过路由器监控,优化网络效率

路由器是网络的基本连接组件&#xff0c;路由器监控涉及将路由器网络作为一个整体进行管理&#xff0c;其中持续监控路由器的性能、运行状况、安全性和可用性&#xff0c;以确保更好的操作和最短的停机时间&#xff0c;因此监控路由器至关重要。 为什么路由器监控对组织很重要…

面试相关问题准备

一.MySql篇 1优化相关问题 1.1MySql中如何定位慢查询&#xff1f; 慢查询的概念&#xff1a;在MySQL中&#xff0c;慢查询是指执行时间超过一定阈值的SQL语句。这个阈值是由long_query_time参数设定的&#xff0c;它的默认值是10秒1。也就是说&#xff0c;如果一条SQL语句的执…

物联网技术在农药化肥行业的远程监控解决方案

物联网技术在农药化肥行业的远程监控解决方案 随着物联网技术的日益成熟&#xff0c;其在农药化肥行业的应用呈现出广阔的前景。通过物联网远程监控解决方案&#xff0c;可以实现生产、存储和施用环节的全程智能化管理&#xff0c;大大提高行业效率和环保水平。 通过物联网云…

CleanMyMac X2024永久免费的强大的Mac清理工具

作为产品功能介绍专员&#xff0c;很高兴向您详细介绍CleanMyMac X这款强大的Mac清理工具。CleanMyMac X具有广泛的清理能力&#xff0c;支持多种文件类型的清理&#xff0c;让您的Mac始终保持最佳状态。 系统垃圾 CleanMyMac X能够深入系统内部&#xff0c;智能识别并清理各种…

软件设计师:12 - 下午题历年真题

章节章节01-计算机组成原理与体系结构07 - 法律法规与标准化与多媒体基础02 - 操作系统基本原理08 - 设计模式03 - 数据库系统09 - 软件工程04 - 计算机网络10 - 面向对象05 - 数据结构与算法11 - 结构化开发与UML06 - 程序设计语言与语言处理程序基础12 - 下午题历年真题End -…

Java_12 杨辉三角 II

杨辉三角 II 给定一个非负索引 rowIndex&#xff0c;返回「杨辉三角」的第 rowIndex 行。 在「杨辉三角」中&#xff0c;每个数是它左上方和右上方的数的和。 示例 1: 输入: rowIndex 3 输出: [1,3,3,1] 示例 2: 输入: rowIndex 0 输出: [1] 示例 3: 输入: rowIndex 1 输…

llama2 代码实验记录

torchrun分布式启动&#xff0c;所以要想在云端的环境下在本地的IDE上debug&#xff0c;需要设置一下&#xff0c;具体可以参考这里&#xff0c;需要传入的路径参数全部使用绝对路径。 目录 1、传入的句子 2、tokenizer 的tokenization 3、model的主要组成部分 4、过程中自…

如何关闭 Visual Studio 双击异常高亮

[问题描述]&#xff1a; 最近 Visual Studio 更新后&#xff0c;双击选中关键字快要亮瞎我的眼睛了 &#x1f440;&#x1f440; [解决方法]&#xff1a; 摸索了一下&#xff0c;找到了关闭的方法&#xff1a;工具 → 选项 → 文本编辑器 → 常规&#xff0c;然后取消 勾选 sel…

【进阶五】Python实现SDVRP(需求拆分)常见求解算法——蚁群算法(ACO)

基于python语言&#xff0c;采用经典遗传算法&#xff08;ACO&#xff09;对 需求拆分车辆路径规划问题&#xff08;SDVRP&#xff09; 进行求解。 目录 往期优质资源1. 适用场景2. 代码调整3. 求解结果4. 代码片段参考 往期优质资源 经过一年多的创作&#xff0c;目前已经成熟…

掼蛋俗语40条

1、以牌会友&#xff0c;天长地久 ​2、智慧掼蛋&#xff0c;欢乐无限 ​3、尊重对手&#xff0c;信任队友 ​4、小掼蛋&#xff0c;大世界 ​5、掼蛋敢做主&#xff0c;不会太受苦 ​6、掼蛋不出手&#xff0c;平时定保守 ​7、精彩掼蛋&#xff0c;生活精彩 ​8、细心…

算法打卡day14|二叉树篇03|Leetcode 104.二叉树的最大深度、559.n叉树的最大深度、111.二叉树的最小深度、222.完全二叉树的节点个数

算法题 Leetcode 104.二叉树的最大深度 题目链接:104.二叉树的最大深度 大佬视频讲解&#xff1a;二叉树的最大深度视频讲解 个人思路 可以使用层序遍历&#xff0c;因为层序遍历会有一个层数的计算&#xff0c;最后计算到的层数就是最大深度&#xff1b; 解法 迭代法 就是…

docker 部署nacos

docker 部署nacos 1、配置数据库表 -- 导出 nacos 的数据库结构 DROP DATABASE IF EXISTS nacos; CREATE DATABASE IF NOT EXISTS nacos; USE nacos;-- 导出 表 nacos.config_info 结构 DROP TABLE IF EXISTS config_info; CREATE TABLE IF NOT EXISTS config_info (id bigi…

深入理解TCP的四次分手过程

文章目录 深入理解TCP的四次分手过程四次分手的意义四次分手的工作原理四次分手的重要性实际应用中的考虑结论补充:TIME_WAIT在哪一步?TIME_WAIT状态的目的TIME_WAIT状态的影响 深入理解TCP的四次分手过程 在网络通信中&#xff0c;TCP&#xff08;传输控制协议&#xff09;确…