accessibility 相关问题

可访问性旨在使每个人都可以使用应用程序或网站,包括视力,听觉,走动或认知障碍等残疾人。

iOS可访问性-通过循环重复重复相同的UI元素的声音

我是可访问性的新手,我有一个简单的表格视图,其中有一个带有一些标签和文本字段的自定义单元格,我还设置了要由self.contentView .......读取的元素的顺序。 [

回答 1 投票 1

Android可访问性:切换访问视图元素的扫描顺序

我正在用android设计一个可访问性应用程序,该应用程序将使用蓝牙开关进行访问。蓝牙开关将具有两个按钮:“下一步”以浏览视图元素&...

回答 1 投票 1

可访问性-和

有两种方法可以在HTML中为图像指定“伴随文本”:alt属性是单独的 元素。来自w3s的示例: ]

回答 1 投票 2

嵌套无线电元素的处理就像它们在DOM上都处于同一级别上一样

我有一个可访问性难题。我制作了自己的自定义单选按钮,并且试图使它们易于访问。我有嵌套的单选按钮。有一个父母,您可以在其中选择...的类型...

回答 1 投票 1

如何防止屏幕阅读器焦点(不涉及键盘焦点)离开预定义区域(例如,模态)

我一直试图弄清楚如何将屏幕阅读器焦点包含在特定区域内。当我说屏幕阅读器焦点时,我并不是说可以通过跳动/ ...来移动默认浏览器焦点。...

回答 2 投票 0

如何通过分别读取内联跨度元素来获得屏幕阅读器?

我有以下段落: 具有某些粗体文本并继续在...上的随机文本... 我正在使用ChromeVox扩展名来确保我的...

回答 1 投票 3

从IE中的制表符顺序中排除输入元素

在基于vue.js的单页应用程序中,有一个不可见的复选框。由于UX原因,我必须将不透明度设置为零。不幸的是,输入元素仍然是选项卡顺序的一部分。到...

回答 1 投票 -1

iOS 13无障碍语音控制功能

iOS 13可访问性语音控制功能源代码或相关API是否已开放供开发人员使用?我想这样写:可访问性语音控制使用屏幕选项卡号单击

回答 1 投票 0

有什么方法可以使程序的默认语言可以编程确定吗?

对于我的项目,必须以编程方式确定Java客户端的默认语言。这意味着屏幕阅读器软件应该能够获取该语言,以便使其...

回答 1 投票 0

什么是使屏幕阅读器阅读跨度文本的正确方法?>

我是可访问性的新手,我有一个跨度如下所示的文本帐户信息

回答 1 投票 0

在浏览器上使用ScaleX()缩放问题

在浏览器中放大时,scaleX()属性不一致。 TranslateX()完全可以正常工作,这就是为什么我要伸出援手。我正在使用...

回答 1 投票 0

HTML 当隐藏或不存在时,键盘控制不显示选项

我有一个非常简单的带两个孩子的下拉菜单 's: Price [...

回答 1 投票 0

是否有等于div元素的“ a lt”属性?

屏幕阅读器将读取设置为“ alt”属性的任何字符串。该属性专门用于图像标签。如果我有这样的div: 2 ]]]] 尝试role="listitem"或role="group"和aria-labelledby="shopping cart items"。参见示例1 。 2是文本内容,应已由屏幕阅读器读取,并且属性已作为内容的上下文读取。请参考此section。 更新2 如果使用输入,则添加aria-readonly=true role=textbox。如果不确定是否要使用aria-label或aria-labelledby,请阅读此article。在JAWS的documentation和测试中,我自己支持aria-label被忽略的事实。此外,当您关注可访问性时,语义非常重要。当您可以使用输入时使用div在语义上并不合理,就像我之前说的那样,JAWS比div更容易接受form元素。我认为这个“购物车”是一种形式或形式的一部分,如果您不喜欢它的边界,就语义而言,input {border: 0 none transparent}或使用<output> *都是A +。 [抱歉,@ RadekPech提醒我;我忘了补充一点,使用aria-labelledby需要可见的文本,并且该文本需要一个ID,该ID也作为aria-labelledby的值列出。如果您出于美观而不希望输入文字,请使用color: transparent,line-height: 0或color:<same as background>。就DOM而言,这应该满足可见性*,而且肉眼仍然不可见。请记住,这些措施是因为JAWS忽略了aria-label。 * unested 示例3 <span id="shopping">Shopping</span>&nbsp; <span id="cart">Cart</span>&nbsp; <span id="items">Items</span>&nbsp; <input id='cart' tabindex="0" aria-readonly=true readonly role="textbox" aria-labelledby="shopping cart items" value='2'> 更新1 对于JAWS,您可能需要对其进行一些配置: 单击实用程序菜单项。 然后设置中心。 语音和声音方案 莫迪计划... HTML 标签 在这个特定的对话框中,您可以添加特定的属性,以及将选项卡制表到其中时所说的内容。 JAWS将可以更轻松地响应表单元素,因为它们可以触发focus事件。您可以更轻松地进行示例2: 示例1 <div id=myCoolDiv tabindex="0" role="listitem" aria-labelledby="shopping cart items"> 2 <div> 示例2 <input id='semantic' tabindex="0" role="listitem" aria-labelledby="shopping cart items" value='2' readonly> 有两种方法(可以结合使用)让屏幕阅读器阅读替代文本: 具有ARIA角色的任何事物img都可以(必须)具有alt属性。参见WAI-ARIA img role。 <div role="img" alt="heart"> ♥︎ </div> 但是,仅在元素真正代表图像(例如心脏unicode字符)的情况下才应使用。 如果元素包含实际文本,仅需要不同的阅读,则应将ARIA角色设置为text,然后将aria-label与想要由屏幕阅读器阅读的内容相加。参见WAI-ARIA text role。 <div role=text aria-label="Rating: 60%"> Rating: ★★★☆☆︎ </div> 不要与aria-labeledby不匹配,它应包含相关元素的ID。 您可以使用两个ARIA角色并同时添加alt和aria-label来将前两种情况组合为一种: <div role="img text" alt="heart" aria-label="heart"> ♥︎ </div> 当定义了更多的ARIA角色时,浏览器应使用受支持的第一个角色并使用该角色处理元素。 最后一件事是您必须将页面类型设置为HTML5(这在设计上支持ARIA)。 <!DOCTYPE html> 使用HTML4或XHTML需要特殊的DTD来启用ARIA支持。 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+ARIA 1.0//EN" "http://www.w3.org/WAI/ARIA/schemata/xhtml-aria-1.dtd"> 如果使用Bootstrap Framework,则有一个快速简便的解决方案。您应该在将要写入sr-only文本的sr-only sr-only-focusable元素中使用classes或span Bootstrap的CSS screen-reader-only。 检查下面的示例,类别为span的glyphicon glyphicon-shopping-cart元素也用作购物车图标。 <div id="myCoolDiv"> <h5> <span class="glyphicon glyphicon-shopping-cart"></span> 2 <span class="sr-only sr-only-focusable" tabindex="0">shopping cart items</span> </h5> <div> 屏幕阅读器输出: “两个购物车项目” 由Fangs Screen Reader Emulator Firefox插件提供 您可以在以下位置找到上述工作示例:Fiddle 根据Oriol的建议,如果您不使用Bootstrap Framework,则只需在CSS文件中添加以下内容。 .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); border: 0; } .sr-only-focusable:active, .sr-only-focusable:focus { position: static; width: auto; height: auto; margin: 0; overflow: visible; clip: auto; } 不,alt元素没有等效于<div>属性的属性。 对于您要尝试做的事情,基于ARIA的解决方案是过大的。您不仅会遇到屏幕阅读器兼容性问题,而且还会在不需要它们的地方应用ARIA属性(如果在<div>之类的东西上,它们可能不属于它们)。 相反,请考虑使用屏幕外技术(例如from The Paciello Group或WebAIM中的一种)。使用此技术隐藏的内容仍将由屏幕阅读器读取,但将在视觉上隐藏。 通过阅读您的问题,我想这就是您想要的。 我制作了a pen demonstrating this technique。在full-page version中进行测试可能会更容易。 Edit :从示例中添加了HTML和CSS,但请注意,规范和浏览器/辅助技术支持都随时间而变化,因此,如果您一年内阅读此书,则应继续使用上面的链接验证此CSS仍然是当前的最佳实践。 HTML <div tabindex="0"> <span class="offscreen">Items in shopping cart: </span>2 </div> CSS .offscreen { position: absolute; clip: rect(1px 1px 1px 1px); /* for Internet Explorer */ clip: rect(1px, 1px, 1px, 1px); padding: 0; border: 0; height: 1px; width: 1px; overflow: hidden; } 根据text alternative computation algorithm of the W3C和Accessible Name and Description: Computation and API Mappings 1.1您绝对应该使用aria-label。 话虽这么说,但它不适用于Jaws,对于这种昂贵的工具来说实在是太可惜了。 剩下的选择是使用将转到您的购物车页面的链接,同时使用title和aria-label来满足任何人: <a href="#cart" title="2 shopping cart items" aria-label="2 shopping cart items">2</a> 您还可以使用透明的1像素选项: 2 <img src="pixel.png" height="1" width="1" alt="shopping cart items" /> 尝试: HTML <div id=myCoolDiv tabindex="0"><span class="aria-hidden">shopping cart items</span>2<div> CSS .aria-hidden { position: absolute; left: -100000px; } 这将宣布范围内的文本。并且Parent div不会失去视觉焦点。隐藏Aria的类将在可见的屏幕区域中隐藏跨度,但会将其读取为具有焦点的div中的跨度。 您可以使用以下CSS创建一个类,例如screen-reader-text: .screen-reader-text { clip: rect(1px, 1px, 1px, 1px); height: 1px; width: 1px; overflow: hidden; position: absolute !important; } 然后,在您的代码中,您只需添加带有屏幕阅读器文本的<span>: <div> I am a div! <span class="screen-reader-text">This is my screen reader text</span> </div> 在此处查看示例:https://jsfiddle.net/zj1zuk9y/ ((来源:http://www.coolfields.co.uk/2016/05/text-for-screen-readers-only-updated/) [在div内使用带有标签作为alt属性的图像。这样,那些没有屏幕阅读器的人只会看到数字和图像,而那些没有屏幕阅读器的人会听到整个句子: <div> <img src="http://tny.im/57j" alt="Shopping cart items" /> 2 </div> 查看为:2 读取为:“购物车项目:2” alt属性存在于图像,因为无法“大声读取”图像内容,因此将使用提供的文本代替。但是对于div,它已经包含文本和图像。因此,如果希望屏幕阅读器可以读取它,则需要在div的内容中包含文本和alt文本。

回答 8 投票 35

Mac“ VoiceOver”正在访问模式框下方的内容

即使选项卡导航仅限于模式框,Mac“ VoiceOver”仍会访问模式框下方的内容。 NVDA没有这个问题。下面的链接来自W3。此示例...

回答 1 投票 1

您通常如何编程语言选择

[我想从经验丰富的人那里了解使用多种语言的UI或CMD来实现程序的最佳实践是什么(让用户在例如英语,法语,...之间进行选择)

回答 1 投票 0

NVDA将包含按钮的div视为按钮

我有一个容器div,其第一个子元素是另一个用作按钮的div。容器具有一个或多个其他子元素。内部按钮div始终按Tab键顺序。我们的...

回答 1 投票 0

SwiftUI是否支持首选字体大小的替代布局?

理想情况下,iOS应用使用的字体大小遵循用户系统范围的字体大小设置。该主题在2017年的WWDC演讲中被称为“使用动态类型构建应用程序”。在简单的情况下,您...

回答 1 投票 0

剥离嵌入式表格并禁用javascript

带有Stripe的内联付款表单要求使用Javascript来设置表单,请求令牌,然后提交带有令牌的表单。这很正常...但是我找不到...

回答 2 投票 0

如何启动我的应用程序在Android中的可访问性设置页面的活动

此问题与其他问题非常相似。但是,仍然没有解决方案。我正在使用以下代码跳转到辅助功能设置页面。 Intent intent = new Intent(Settings ....

回答 1 投票 0

react-widgets组合框中的键盘可访问性

我正在使用带有组标题的React Widgets Combobox,但无法使键盘导航正常工作。文档页面上的第一个示例具有键盘可访问的下拉菜单(上/下箭头...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.