首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【译】W3C WAI-ARIA最佳实践 -- 控件

当面板包含标题元素或嵌套手风琴时,region 角色对屏幕阅读器用户对于结构的感知特别有帮助。 警告框 alert 是一个呈现简短、重要信息的元素,以一种引起用户注意而不打断用户任务的方式。...动态渲染的警告,会被大多数屏幕阅读器自动朗读,在某些操作系统中,警告会触发警告提示音。与此同时,需要注意的是屏幕阅读器不会告知用户在加载完成前已经存在的警告。...因为警告是用来提供重要和潜在的时间敏感信息,而不会打扰用户继续工作,重要的一点是它不会影响键盘焦点。alert dialog 为那些必须打断工作流的情况设计的。 同样重要的是,避免设计自动消失的警告。...对话框(模态) 对话框 是叠加在主窗口或另一个对话框上的窗口。Window下的模态对话框是惰性的。也就是说,用户不能与对话框之外的内容进行交互。...键盘交互 对于一个垂直向的列表框: 当一个单选列表框接收到焦点: 如果在列表框接收焦点前,没有选择任何选项,第一个选项获得焦点。可选的,第一个选项可以自动选择。

4.6K30

【译】W3C WAI-ARIA最佳实践 -- 布局

网格:交互式表格数据和布局容器 网格 组件是一个容器,能够让用户使用方向导航键,例如 arrow keys、 Home 和 End,来浏览其包含的信息和与其包含的元素进行交互。...有一个例外:如果行列的表头单元格没有提供功能,例如排序或过滤,它们不需要可聚焦。一个原因是当用户与 grid 交互时,屏幕阅读器需要处于应用阅读模式,而不是文档阅读模式,这非常重要。...2、启用网格导航键,用来与单元格内元素进行交互。 是否聚焦单元格或其包含的元素 对于辅助技术用户,导航网格时的体验质量很大程度上取决于单元格包含的内容以及设置键盘焦点的位置。...如果输入框是个单行文本框,连续按 Enter ,会重置网格导航功能,或移动焦点到附近单元格的输入框中。 如果单元格包含一个或多个组件,将焦点放置在第一个组件上。...否则,工具栏元素具有由 aria-label提供的标签。 如果工具栏控件是垂直排列的,工具栏元素应该设置 aria-orientation 为 vertical。其默认值为 horizontal。

6.2K50
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    【译】W3C WAI-ARIA最佳实践 -- 表单

    与其他 WAI-ARIA 组件角色一样,应用link角色到一个元素,浏览器不会自动添加标准链接行为,例如导航到链接目标或上下文菜单操作。当使用 link 角色时,为元素提供这些特性是开发者的责任。...禁用的菜单项是可聚焦的,但无法激活。 2. 菜单中的separator不可聚焦或交互。 3....它的样式通常与典型按钮一样,且带有一个向下的箭头或三角,来提示用户激活按钮会展开一个菜单。 示例 导航菜单按钮: 由HTML元素 a 创建的菜单按钮,展开是一个表现为链接的项目菜单。...滑块 滑块是供用户从给定范围内选择值的输入控件。滑块通常有个拖动拇指,可以沿着条或轨道移动来改变滑块的值。 示例 水平滑块示例: 演示使用三个水平对齐的滑块来制作颜色选择器。...一般来说,文本框是唯一可聚焦组件,因为增加和减小功能可使用光标键访问,一般来说,文本框还允许用户直接编辑其值。 如果数值范围很大,数值调节按钮支持以较小和较大的幅度调节其值。

    8.3K30

    实习杂记(27):android的touch Mode

    当用户通过键盘(或者轨迹球)操作的时候,有必要聚焦当前接受输入的UI元素,例如,高亮(聚焦)某个按钮,让用户知道当前正在操作的UI元素是哪个。      ...但是,当用户使用触摸屏与设备交互的时候,始终聚焦当前UI元素就没有必要了,而且很丑陋;用户点击哪个元素,哪个元素就是当前元素,无需高亮标识。...并且,通过触摸屏与设备交互的时候,点击某个UI元素也不会导致该元素聚焦,此时的高亮效果是由Pressed状态来完成的。...当用户开始通过键盘与设备交互的时候,设备就退出Touch Mode模式;当用户开始通过触摸屏与设备交互的时候,设备就进入Touch Mode模式。...有些UI元素,即使是在Touch Mode的状态之下,也需要获得焦点,典型的就是Edittext。那么,这种情况该如何处理呢?       答案就是做特殊处理。

    72820

    理解音频焦点 (第 33 部分):三个步骤实现音频聚焦

    本篇文章是该系列的第一部分,该系列三篇文章包含了: 最常见的音频焦点用例和成为一个优秀的媒体事业人员的重要性 其它一些能体现音频焦点对应用体验的重要性的用例 在您的应用中实现音频焦点的三个步骤 (此篇文章...) 如果您不妥善处理好音频聚焦,您的用户可能受到下图所示的困扰。...为了申请到音频聚焦,您必须向系统描述好您的意图。介绍四个常见音频焦点类型: AUDIOFOCUS_GAIN的使用场景:应用需要聚焦音频的时长会根据用户的使用时长改变,属于不确定期限。...mPlayOnAudioFocus) { mAudioFocusHelper.abandonAudioFocus(); } onPause(); } 您可以看到释放焦点是在用户暂停播放的时候...应对焦点丢失 选择在 OnAudioFocusChangeListener 中暂停还是降低音量,取决于您应用的交互方式。

    47521

    理解音频焦点 (第 33 部分):三个步骤实现音频聚焦

    ) 如果您不妥善处理好音频聚焦,您的用户可能受到下图所示的困扰。...步骤一 :请求音频焦点 获取音频焦点的第一个步骤是先向系统发出申请焦点的消息。注意这只是发出请求,并非直接获取。为了申请到音频聚焦,您必须向系统描述好您的意图。...介绍四个常见音频焦点类型: AUDIOFOCUS_GAIN的使用场景:应用需要聚焦音频的时长会根据用户的使用时长改变,属于不确定期限。例如:多媒体播放或者播客等应用。...mPlayOnAudioFocus) { mAudioFocusHelper.abandonAudioFocus(); } onPause(); } 您可以看到释放焦点是在用户暂停播放的时候...应对焦点丢失 选择在 OnAudioFocusChangeListener 中暂停还是降低音量,取决于您应用的交互方式。

    4K40

    简单了解下无障碍设计模式

    样式 布局 Material Design 的触摸目标指南使那些无法看到屏幕、或者运动不灵活的用户能够点击应用中的元素。 触摸目标 触摸目标是屏幕中响应用户输入的部分。...错误示例 当把重要的操作嵌入到其他内容中时,就不清楚什么是页面中最重要的元素。 焦点顺序 输入焦点应该按照视觉布局的顺序排列,从屏幕顶部到底部。它应该从最重要的项目到最不重要的项目进行遍历。...确定以下的焦点和移动方式: 元素接收焦点的顺序 元素分组的方式 拥有焦点的元素消失时,焦点移动到哪里 通过视觉指示器和辅助文本的组合,来阐明焦点的位置。...如果一个任务中断了,然后又恢复,请将焦点放在之前聚焦的元素上。 绿色圆圈表示屏幕中的元素接收焦点的顺序。 实施 通过使用标准的平台控件,你的应用将自动包含与平台无障碍技术协同工作所需的标记和代码。...不要提及确切的手势和交互 不要告诉用户如何与控件进行身体上的交互,因为它们可能使用键盘或其他设备进行导航,而不是用手指或鼠标进行导航。无障碍软件会为用户描述正确的交互方式。

    4.8K40

    Web 用户体验设计提升实践

    路由菜单导航: [ ] 表格中的一些按钮跳转: [ ] 2.6 表单交互优化 输入及选择于用户而言,是一项高交互成本的操作。下面提供了一些小的建议来减少用户输入出错、提升用户体验。...看看下面这张图: [ ] 很明显,对比度由低到高。前两个例子,别说视障用户,正常用户都已经很难看得清了。 当然,也会存在一些特例,譬如输入框的 placeholder、按钮的禁用状态等等。...进入页面后会默认让输入框获得焦点: [ ] 并非所有的有输入框的页面都需要进入页面后进行聚焦,但是焦点能够让用户非常明确地知道当前自己在哪,需要做些什么。...尤其是对于无法操作鼠标的用户来说。 页面上可以聚焦的元素,称为可聚焦元素,获得焦点的元素,则会触发该元素的 focus 事件。对应地,也会触发该元素的 :focus 伪类。...当然,除了 Tab 键之外,对于一些多输入框、选择框的表单页面,我们也应该想着如何简化用户的操作,例如用户按回车键时自动前进到下一字段。一般而言,用户必须执行的触按越少,体验越佳。

    1.3K20

    Android 软键盘的那些事

    android:windowSoftInputMode activity主窗口与软键盘的交互模式,可以用来避免输入法面板遮挡问题,Android1.5后的一个新特性。...【F】stateAlwaysVisible:用户选择activity时,软键盘总是显示的状态 【G】adjustUnspecified:默认设置,通常由系统自行决定是隐藏还是显示 【H】adjustResize...:该Activity总是调整屏幕的大小以便留出软键盘的空间(可以显示全部屏幕) 【I】adjustPan:当前窗口的内容将自动移动以便当前焦点从不被键盘覆盖和用户能总是看到输入内容的部分(软键盘会遮挡屏幕..."stateHidden" 当用户选择该Activity时,软键盘被隐藏——也就是说,当用户确定导航到该Activity时,不管他离开的Activity的软键盘是可见还是隐藏都会被隐藏,不过当用户离开一个...相反,当前窗口的内容将自动移动以便当前焦点从不被键盘覆盖和用户能总是看到输入内容的部分。这个通常是不期望比调整大小,因为用户可能关闭软键盘以便获得与被覆盖内容的交互操作。

    2K10

    前端优秀实践不完全指南

    除此之外,在审查元素的 Style 界面的取色器,改变颜色,也能直观的看到当前的色彩对比度: ? 焦点响应 类似百度、谷歌的首页,进入页面后会默认让输入框获得焦点: ?...并非所有的有输入框的页面,都需要进入页面后进行聚焦,但是焦点能够让用户非常明确的知道,当前自己在哪,需要做些什么。尤其是对于无法操作鼠标的用户。...页面上可以聚焦的元素,称为可聚焦元素,获得焦点的元素,则会触发该元素的 focus 事件,对应的,也就会触发该元素的 :focus 伪类。...当然,除了 Tab 键之外,对于一些多输入框、选择框的表单页面,我们也应该想着如何简化用户的操作,譬如用户按回车键时自动前进到下一字段。一般而言,用户必须执行的触按越少,体验越佳。?...:focus-visible:这个选择器可以有效地根据用户的输入方式(鼠标 vs 键盘)展示不同形式的焦点。

    98820

    JavaSwing_8.1:焦点事件及其监听器 - FocusEvent、FocusListener

    低级别事件指示Component已获得或失去输入焦点。 由组件生成此低级别事件(如一个TextField)。...在这种情况下,原来的聚焦状态将被自动一旦操作完成恢复,或者,对于窗口失活的情况下,当窗口被重新激活。...3 如何编写焦点侦听器 每当组件获得或失去键盘焦点时,就会触发焦点事件。无论是通过鼠标,键盘还是以编程方式发生焦点变化,都是如此。...例如,当焦点从按钮转到文本字段时,按钮会触发焦点丢失事件(文本字段为相反的组件),然后文本字段会触发焦点获取事件(带有按钮作为相反的组件)。失去焦点以及获得焦点的事件可能是暂时的。...这样一来,使用辅助技术的用户就可以确定组件在那里及其包含的内容。该演示通过在文本区域上调用setRequestFocusEnabled(false)来禁用文本区域的单击焦点,同时保留其选项卡焦点功能。

    4.7K10

    前端无障碍开发指南

    中国工信部也指出,信息无障碍是指通过信息化手段弥补身体机能、所处环境等存在的差异,使任何人(无论是健全人还是残疾人,无论是年轻人还是老年人)都能平等、方便、安全地获取、交互、使用信息。...定义动态更新的“活动区域” 改善键盘可访问性和交互性 ARIA 表现为 HTML 的属性,确定了元素的 ARIA 角色、状态和属性。...这样的设计会导致当 input 得到焦点时,placeholder 自动消失,造成用户无法感知当前表单项的内容。...为表单元素设置原生的校验属性 required、minlength、pattern 等表单的原生校验属性,不但可以满足正常的表单校验需求,也具有更好的无障碍支持 规则 4:注意页面的焦点管理,允许用户仅通过键盘完成交互...这些原生 HTML 元素,天然存在于页面 Tab 键顺序内,内置了键盘事件处理,可以通过 Tab 键聚焦,并且获得焦点时有可见的焦点指示器(往往是显眼的蓝色框框)。

    1.2K20

    对话框、模态框和弹出框看起来很相似,它们有何不同?

    只有模态内容可以交互,页面或应用程序的其余部分都是惰性的。惰性内容是用户无法交互的内容。它只有在视觉方面存在,你无法通过 Tab 键切换、单击、滚动或通过辅助技术访问内容。...背景 在某些情况下,为元素添加背景是有意义的。背景通常用于传达内容在后面是不可用的,以作交互提示。它可以用作帮助用户集中注意力的一种方式。...对话框通常在用户需要对某些事情进行提醒或选择时显示。你想要继续吗,是还是不是?如果你想打开一个新的文件,我们该怎么做?对你的当前文件进行保存或删除?...WAI-ARIA 规定,当使用 role="dialog" 时,应至少包含一个可聚焦的元素,并在对话框打开时将焦点移动到其中一个可聚焦的元素上。...它们共同点是它们由两个部分组成:一个是触发器元素,另一个是被触发的元素。 披露组件不会捕获焦点,没有背景,也不是模态的。它们通常使用触发器或特定的关闭按钮进行关闭或折叠。

    3.9K00

    前端优秀实践不完全指南

    除此之外,在审查元素的 Style 界面的取色器,改变颜色,也能直观的看到当前的色彩对比度: ? 焦点响应 类似百度、谷歌的首页,进入页面后会默认让输入框获得焦点: ?...并非所有的有输入框的页面,都需要进入页面后进行聚焦,但是焦点能够让用户非常明确的知道,当前自己在哪,需要做些什么。尤其是对于无法操作鼠标的用户。...页面上可以聚焦的元素,称为可聚焦元素,获得焦点的元素,则会触发该元素的 focus 事件,对应的,也就会触发该元素的 :focus 伪类。...当然,除了 Tab 键之外,对于一些多输入框、选择框的表单页面,我们也应该想着如何简化用户的操作,譬如用户按回车键时自动前进到下一字段。一般而言,用户必须执行的触按越少,体验越佳。...:focus-visible:这个选择器可以有效地根据用户的输入方式(鼠标 vs 键盘)展示不同形式的焦点。

    88320

    藏在微信里的温度,无障碍开发框架分享

    开启 Talkback 时,整个 Item 识别为一个焦点,选中双击是触发点击 switch的逻辑。在无障碍模式下,选中双击是直接触发相应控件的 Click 事件。...时进行调用,也就是读屏选中的绿框是由系统绘制的,而不是由读屏软件绘制的。...由两个 Id 确定一个 View,减少冲突。 查找规则时间长可能导致的主线程卡顿? 由于查找规则的时机是在生成节点,是由系统触发且无法异步。...2、如果不可见,则不聚焦。 3、判断是否是画中画,像下图的红框这种就是画中画,如果是画中画,这个就是焦点。 4、该节点是否和 window 边界重合等大。...信息无障碍是指通过信息化手段弥补身体机能、所处环境等存在的差异,使任何人(无论是健全人还是残疾人、无论是年轻人还是老年人)都能平等、方便、安全地获取、交互、使用信息。

    2.3K51

    扫码与中文输入法

    ps:也没有更好的办法了,如果扫码在站点是一个非常高频的操作,还是建议从产品层面给个提示让用户切换为英文输入。...附录、无焦点扫码优化 针对扫码输入,理论上来说是需要首先聚焦 input 输入框的,但是为了更好的用户体验,即使没有聚焦我们也可以做一些优化手段来让用户正常扫码的。...因此,针对无焦点输入得分为两种情况处理,一种是整个网页页面都没有焦点,这种情况是系统层面的行为,我们没办法处理。...另一种就是浏览器网页本身是聚焦的,input 输入框未聚焦,这种情况还是可以做一些事情的。 对于 input 无焦点的解决办法就是,全局监听。...当然,既然做到了这一层,那么根据扫描的“码”的内容来判断输入的是什么码,然后根据内容将特定的内容填写到对应的 input 框,这也能顺手解决一个页面有多个输入框自动扫码触发输入框聚焦的情况。

    1K10

    vue封装带提示框的单选多选文本框组件

    提示框显示隐藏交互实现 细化上述需求,需要在用户点击输入框(获取焦点)时,显示提示框,在用户点击空白区域时隐藏提示框,点击组件自身时不做任何操作。...,由于选项元素在输入框外,用户点击输入框外的选项元素必然会导致输入框失焦从而触发blur自动关闭,如下图所示。...来区分点击的是空白部分还是提示选项以实现提示框关闭,实现如下。...**问题:**实际开发中发现,由于组件是动态渲染的,mousedownEvent事件中无法直接获取到当前对象的dom元素this.$refs.xxx,导致自动聚焦失败。...举例来说,用户选择或取消选择了某个选项,输入框的值需要同步更新;用户手动在输入框内输入了数据,选项需要能够根据用户输入自动选中或取消。

    7.8K30

    在 ViewModel 中让数据验证出错(Validation.HasError)的控件获得焦点

    可是这个过程稍微不够流畅,我希望点击 Sign In 按钮后,数据验证错误的控件自动获得焦点,像下面这个 gif 那样: ?...WPF 可用于控制焦点的属性是 FocusManager.FocusedElement 附加属性,这个属性用于获取和设置指定焦点范围内的聚焦元素。...自动获得焦点 上面的做法实现了我的需求,而且使用这种方案可以让 ViewModel 对 View 有更多的控制权,可以指定哪个 UI 元素在任何时间获得焦点,但坏处就是要写很多代码,而且属性越多耦合越多...另一种做法是让 Validation.HasError 为 true 的控件自动获得焦点,可以在 View 上添加这个样式: <Style TargetType="TextBox" BasedOn="{...最后 这篇文章只介绍了简单的解决方案,最后还是需要根据自己的业务需求进行修改或封装。View 和 ViewModel 交互可以是一个很庞大的话题,下次有机会再深入探讨。 7.

    1.5K40

    AI加持的竖屏沉浸播放新体验

    本文由爱奇艺刘小辉在LiveVideoStackCon 2020 线上峰会的演讲内容整理而成,内容主要讲述通过AI智能的视频画面主体识别能力和字幕识别能力,实现在手机端竖屏全屏观看横拍视频的新体验,给用户提供沉浸视界新体验...云端和终端之间交互其中有个重要的内容——AI焦点文件,它描述了当前视频每一帧画面的焦点位置,还包含了如字幕等其他信息。...在终端主要是根据当前陀螺仪的姿态信息、当前画面的焦点区域信息、屏幕大小计算应该呈现画面中的哪块区域。随后就是图像的渲染,为支持用户可以手动改变聚焦位置,我们也做了一个缩略图渲染,以支持用户的手动调节。...在APP真正落地的时候,一定会出现的一种状况是,如果按照当前AI算法计算的焦点不一定是当前用户感兴趣的人物时,用户可以用手势在屏幕滑动,将聚焦位置切换成画面中的其他人物。...比如图中展示了我们在实践的过程中增加了一个缩略图,这个缩略图描述了当前聚焦人物,滑动时竖屏呈现结果会进行转换,即支持自动调焦又支持手动调焦。

    84160

    AI加持的竖屏沉浸播放新体验

    本文由爱奇艺刘小辉在LiveVideoStackCon 2020 线上峰会的演讲内容整理而成,内容主要讲述通过AI智能的视频画面主体识别能力和字幕识别能力,实现在手机端竖屏全屏观看横拍视频的新体验,给用户提供沉浸视界新体验...云端和终端之间交互其中有个重要的内容——AI焦点文件,它描述了当前视频每一帧画面的焦点位置,还包含了如字幕等其他信息。...在终端主要是根据当前陀螺仪的姿态信息、当前画面的焦点区域信息、屏幕大小计算应该呈现画面中的哪块区域。随后就是图像的渲染,为支持用户可以手动改变聚焦位置,我们也做了一个缩略图渲染,以支持用户的手动调节。...在APP真正落地的时候,一定会出现的一种状况是,如果按照当前AI算法计算的焦点不一定是当前用户感兴趣的人物时,用户可以用手势在屏幕滑动,将聚焦位置切换成画面中的其他人物。...比如图中展示了我们在实践的过程中增加了一个缩略图,这个缩略图描述了当前聚焦人物,滑动时竖屏呈现结果会进行转换,即支持自动调焦又支持手动调焦。 ?

    60720
    领券