阅读顺序不正确

时间:2012-05-22 16:37:15

标签: javascript accessibility

我正在评估发送给我的一些代码,但我不理解为什么会这样。

[edit]:该代码由电子学习软件Lectora生成,因此无需手动完成任务。丑陋的内联代码无法通过样式表进行推送。

[编辑2] buttonxxx 是lectora中的一些功能,可让您制作隐藏的热点,有点像图像地图。我没有这个软件,制作软件的人也不太懂技术。

HTML

<p  style="margin-left:0px;text-indent:0px;line-height:1.160;margin-top:0px;margin-bottom:0px;text-align:left;" >
<a href="##Action 7515"  ><span class="text3708Font1"  >Table of 
Contents</span ></a ><a href="##Action 7515"  ><span class="text3708Font2" style="background-color:transparent" >
</span ></a ></p >
<p  style="margin-left:0px;text-indent:0px;line-height:1.160;margin-top:0px;margin-bottom:0px;text-align:left;" >
<span class="text3708Font3" style="background-color:transparent" >
&nbsp;</span ></p >
<p  style="margin-left:0px;text-indent:0px;line-height:1.160;margin-top:0px;margin-bottom:0px;text-align:left;" >
<a href="##Action 3710"  ><span class="text3708Font4"  >Edgar's 
Dilemma</span></a ><span class="text3708Font5" style="background-color:transparent" >
</span ></p >

我认为适用的JavaScript。页面中有大约530行JS。  

button6458 = new ObjButton('button6458','table of contents',1,69,70,37,1,8,'div')
button6458.setImages('transbtn.gif',null,null,'images/')
button6458.onUp = button6458onUp
button6458.hasOnUp = true
button6458.capture=4
button6458.build()

button6459 = new ObjButton('button6459','course beginning story',2,112,67,36,1,9,'div')
button6459.setImages('transbtn.gif',null,null,'images/')
button6459.onUp = button6459onUp
button6459.hasOnUp = true
button6459.capture=4
button6459.build()

但如果我使用屏幕阅读器进行导航,则会将其公布为:

  

目录[链接],[链接](内容中的空格后面的空格),埃德加的困境[链接],[链接](埃德加与什么是508之间的空格中的空格字符),表内容(现在宣布为“转到目录[链接]”),埃德加的困境(现在宣布为“去课程开始故事[链接]”)

关于为什么要读取锚点的任何想法,然后javascript会很棒。


解决方案:

大约一半的源代码,写了一些JS。这使得第二组链接通过上面的JS代码块。如果我们剥离垃圾,源代码基本上变为:

<a href="#">Table of contents</a>
<a href="#">&nbsp;</a>
<a href="#">Edgar's Delimma</a>
<a href="#">go to Table of contents</a>
<a href="#">go toEdgar's Delimma</a>

我还没弄清楚&nbsp;是如何创建的。

1 个答案:

答案 0 :(得分:0)

第一个块中的源代码可以简化为

<p><a href="##Action 7515">Table of Contents</a><a href="##Action 7515"></a></p>
<p>&nbsp;</p>
<p><a href="##Action 3710">Edgar's Dilemma</a></p >

并且您的输出似乎正在剥离<p>&nbsp;</p>元素,因为没有要读取的内容,但它假设“目录”链接之后的链接很重要并且保留了该链接。因为没有文字来形成链接,所以它正在尽力而为。

我怀疑在“埃德加困境”之后宣布的链接也是如此编码。

相当为什么代码中应该有一个空链接可能是由Lectora或将电子学习包放在一起的人。鉴于源代码中文本样式的更改,可能是因为“目录”链接末尾的字体更改 - 当段落标记保留已被覆盖的字体设置时,Microsoft Word可以执行此操作文本本身。