如果JAWS在我的页面中遇到这样的时间:
<div>
<span>20:15</span> <!-- either of these times -->
<span>04:15</span> <!-- either of these times -->
</div>
然后它将它们读作&#34;二十个冒号十五&#34;这听起来不像时间。有没有办法指明这是一个时间?
也许将普通用户读取但未被看到的文字放入&#34;二十个冒号十五点钟&#34;或某事可能是一个可行的答案。
答案 0 :(得分:4)
有没有办法指明这是时间?
HTML5提供time
element及其datetime
attribute。
我无法测试JAWS是否认出它,但如果没有,那就太遗憾了(他们当然应该解决这个问题)。
对于时间“20:15”,标记可以是:
<time>20:15</time>
<!-- because "20:15" is a valid time string -->
<time datetime="20:15">20:15</time>
<!-- the datetime attribute is not needed here -->
<time datetime="20:15">…</time>
<!-- could have any content, as long as the datetime attribute contains a valid time string -->
答案 1 :(得分:1)
从语义上讲,您应该使用带有title属性的public void GetMuscles(List<ListItem> selected)
{
int[] arrayOfStrings = new int[selected.Count];
for (int i = 0; i < selected.Count; i++)
{
arrayOfStrings[i] = Convert.ToInt32(selected[i].Value);
}
}
using (var db = new DWSEntities())
{
var muscles = (from m in db.Muscles
where m.MainMusleGroupID. //ISSUE
select new { m.MusleName, m.ID }).Take(40);
}
元素。问题是屏幕阅读器默认不会读出缩写。
要解决此问题,您可以结合使用<abbr>
和屏幕外技术,例如:
aria-hidden
屏幕外:
<span aria-hidden="true">20:15</span>
<span class="offscreen">Twenty colon fifteen o'clock</span>
根据ARIA规范,这些技术也应该有效,但(与所有ARIA一样)你需要测试它们以确定它们是否真的在实践中起作用
.offscreen {
border: 0;
clip: rect(0 0 0 0);
clip: rect(0, 0, 0, 0);
height: 1px;
margin: -1px;
overflow: hidden;
padding: 0;
width: 1px;
position: absolute;
}
和
<span aria-label="twenty hours and fifteen o'clock"><span aria-hidden="true">20:15</span></span>