例如:
还行吧
<div>
<p>some <strong>long</strong> text</p>
<strong>- end -</strong>
<p>some long text</p>
</div>
Run Code Online (Sandbox Code Playgroud)
或者这在语义上更正确?
<div>
<p>some <strong>long</strong> text</p>
<p><strong>- end -</strong></p>
<p>some long text</p>
</div>
Run Code Online (Sandbox Code Playgroud) 我有一个WPF应用程序,它需要支持可访问性.我有一个TextBlock,在某些条件下将其Visibility设置为Collapsed.
Windows 7解说员和NVDA屏幕阅读器都宣布了TextBlock,因此Visibility设置为Collapsed.
我需要做些什么才能防止它被阅读?
对于<nav>标记,W3C定义似乎有点模糊:
nav元素表示链接到其他页面或页面中的部分的页面的一部分:带有导航链接的部分.
并非页面上的所有链接组都必须位于nav元素中 - 该元素主要用于由主要导航块组成的部分.特别是,页脚通常具有指向站点的各个页面的短链接列表,例如服务条款,主页和版权页面.单独的页脚元素足以满足这种情况; 虽然在这种情况下可以使用nav元素,但通常是不必要的.
针对可以从初始渲染中省略的导航信息中受益的用户的用户代理(例如屏幕阅读器),或者可以从导航信息立即可用中受益的用户代理(例如屏幕阅读器)可以使用该元素作为确定上述内容的方式.最初跳过和/或提供请求的页面.
基于对其定义的非常严格的解释以及我通过验证遇到的内容,看起来好像<nav>应该只包含列表元素.但是,不应该将搜索视为一系列页面中的导航形式吗?
虽然我理解它的主要用途是用户代理,但如果前者只作为后者的容器,那么拥有<nav>前面的<ul>标记似乎仍然是多余的.如果<nav>可以包含与导航相关的其他元素,而不仅限于链接列表,那将更有意义.
例如:
<nav role="navigation">
<form action="http://google.com/search" method="get">
<fieldset role="search">
<input type="hidden" name="q" value="site:mysite.com" />
<input class="search" type="text" name="q" results="0" placeholder="Search"/>
</fieldset>
</form>
<ul class="top-navigation">
<li><a href="/">Home</a></li>
<li><a href="/about.html">About Me</a></li>
<li><a href="/archive.html">Archives</a></li>
</ul>
</nav>
Run Code Online (Sandbox Code Playgroud)
除了验证,这是不是可以接受的用途<nav>?与确保屏幕阅读器和其他辅助工具可以正确呈现页面相比,对于较少关注验证的人会产生什么影响呢?
我正在努力改善我的Delphi应用程序对视障用户的可访问性.我的应用程序使用许多自定义GUI组件 他们大多来自TWinControl或TGraphicControl.
使用NVDA进行测试时,我的自定义组件似乎不可见.例如,当鼠标悬停在常规Delphi VCL控件(如按钮或表单)上时,NVDA将通过读取控件的名称(或其他详细信息)来做出响应.相比之下,当我将鼠标悬停在任何自定义控件上时,NVDA根本没有响应.
如何使我的自定义组件对NVDA和其他屏幕阅读软件可见?
是否有标准的方法让屏幕阅读器拼出数字?
我目前正在使用NVDA和Firefox并拥有以下电话号码
<p>01234 567890</p>
Run Code Online (Sandbox Code Playgroud)
这被视为
零一二三四有五六十七数千八百九十九
这对听众来说非常困惑.我想要一些方法来指定屏幕阅读器应该拼出数字
零一二三四有五六七八九零
我想让我的HTML页面适合屏幕阅读器.
目前,该页面有3个主要部分:标题,侧边栏和内容:

屏幕阅读器首先读取标题,然后是侧边栏,最后是搜索结果.
不幸的是,具有视力问题的用户会等待很长时间,而程序会读取所有侧栏内容(导致侧栏包含许多过滤器).如何为搜索结果设置更高的优先级?原因应在侧边栏内容之前阅读搜索结果.
如果有人向我提供HTML教程,告诉我如何提高HTML页面的可访问性级别,那将会很棒:
当我通过 W3C 检查器构建一个网站时,它要求我考虑仅使用 h1 作为顶级标题,并指出我在某个部分内有 h1 的部分。它还提到,屏幕阅读器会将它们全部视为顶级元素,但是,根据 HTML5 规范,部分会有效地“重置”标题,以便您可以在其中启动另一个从 1 到 6 的层次结构。
如果我们试图专注于 W3C 验证和可访问性,我是否应该只在部分中使用 h2-h6?或者这个警告不正确?
我知道屏幕阅读器不仅会读取一些元素/标签,还会阅读它自己的元素/标签.例如:
<button class="class-of-the-button">Text inside</button>
Run Code Online (Sandbox Code Playgroud)
屏幕阅读器的结果如下:按钮文字在里面.
或类似的东西,我不太确定(如果你知道它究竟是什么,请更正).说这个,我想请你告诉我屏幕阅读器阅读的其他元素/标签是什么,它自带元素/标签的内容,特别是这个(但不仅仅是.如果你有一个列表或者请知道一些,请告诉我.我真的很感谢你的帮助):
对于 <input type="radio">
对于 <input type="checkbox">
为<h1>给<h6>标签.
我们担心我们网站上的可访问性,并希望看到它是如何被普通的屏幕阅读器感知和解码的?
当出现带有进度条的对话框时,我需要使用NVDA屏幕阅读器来阅读一些消息.
在进度条的持续时间为0%时,我需要宣布: "您收到了定时消息"
进度条的持续时间为100%: "消息已过期"
使用的进度条是md-progress-linear.
html代码如下所示:
<md-dialog>
<md-progress-linear tabindex="0" ng-if="displayProgressIndicator || timeoutValue > 0" md-mode="determinate" class="promptProgressBar" value="{{progressValue}}"></md-progress-linear>
<md-content class="md-title dialogTitle">
{{messageTitle}}
</md-content>
<md-content class="md-dialog-content">
{{messageText}}
</md-content>
<div class="md-dialog-actions">
<md-button ng-style="theme.SecondaryButton" ng-click="OnClose()" class="md-primary right">
{{primaryActionText}}
</md-button>
<md-button ng-style="theme.SecondaryButton" ng-if="secondaryActionText.length > 0" ng-click="OnCancel()" class="md-primary right">
{{secondaryActionText}}
</md-button>
</div>
</md-dialog>
Run Code Online (Sandbox Code Playgroud)
我看到一些滑块的工作示例,它使用aria-valuetext属性,NVDA正确读取这些文本.
我尝试在md-progress-linear元素中添加aria-valuetext属性,但不起作用.
当消息到达时,NVDA会发出蜂鸣声,但不会读取aria-valuetext.
有什么想法怎么做?