2

我有一些我正在尝试修改的 HTML 以使下巴正确阅读,我已经删除了所有与问题无关的位。

当我点击一个选择时,我希望它读取 H3 标题中的 div 中的文本然后选择,大部分都很好,但它在大约三分之二的地方停止读取文本并跳转到标签。单词right here是它停止阅读然后阅读的地方star mandatory ...

我想知道下颚中是否有一些缓冲区已满,然后当它到达它的末尾时,它只会移动到下一个元素上。

对此我能做些什么还是应该继续前进?

代码生成了,所以我保留了格式。

设置是win7jaws13 ie11

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"><head>
  </head>
  <body>
  <div >
    <div >
      <div >

    <form method="post" id="form" name="form" action="doNothing">

<div >
 <div >
    <input  value="" type="hidden"><span id="AsyncWrapperW371" aria-live="assertive" aria-relevant="all" aria-atomic="true">
   <div id="nodeW371">
    <div >
     <div id="nodeW430">
      <div >
       <div id="nodeW431WizTab">
        <div id="nodeW431">
         <div >
          <div id="nodeW469" role="group" aria-labelledby="nodeW469Title">
           <div id="nodeW469Title"><span aria-hidden="true" role="presentation">*</span><span >Mandatory</span>
            <h2>Title 2 for ABC</h2>
           </div>
           <div >
            <div id="nodeW475" role="group" aria-labelledby="nodeW475Title">
            <div>
             <h3 >Title 3 For ABC</h3>
             </div>
             <div >
              <div >This is test output to see when jaws will stuff up and not read all the message that it is supposed too how long can it go before it jumps to the next prompt. This is the next sentence
      It loses it's place in these words right here, this will not get read</div>
              <div id="nodeW477">
               <div ><label for="nodeW477_data" id="nodeW477_label"><span aria-hidden="true" role="presentation">*</span><span >Mandatory</span><span ></span></label></div>
               <div ><select tabindex="117" id="nodeW477_data" name="nodeW477_data" 
           >
                 <option selected="selected" value="">Please Select...</option>
                 <option value="Y">First</option>
                 <option value="N">Second</option>
                 <option value="O">Third</option>
                </select><a tabindex="118" id="nodeW477-a" title="Update the screen based on the selection made" onclick="dosomething"><span ></span><span>Update</span><span ></span></a></div>
              </div>
             </div>
            </div>
           </div>
          </div>
         </div>
        </div>
       </div>
      </div>
     </div>
    </div>
   </div>
  </span>
 </div>
</div>
    </form>
      </div>
    </div>
  </div>
</body>
</html>
4

1 回答 1

-1

老问题,但自从标题更新后,它才突然出现在我面前。从代码片段中,<select>有一个关联的<label>元素,因此当焦点移动到组合框时应该读取的所有内容。有<label>一个屏幕阅读器隐藏星号,后跟文本“强制”。

(请注意,NVDA 目前不支持“隐藏”星号,而是说“强制星号”而不仅仅是“强制”。JAWS 和旁白(正确)都说“强制”。)

对于要读取的长文本,您可以通过从 the 中删除属性然后将 an 添加到自身来取消<label>与 select 的关联。您的长文本在没有 ID 的情况下,因此您需要向其中添加 ID,然后在.for<label>aria-labelledby<select><div>aria-labelledby<select>

<div id="newID">This is test output to see when jaws...</div>
...
<select tabindex="117" id="nodeW477_data" name="nodeW477_data" aria-labelledby="newID">

当我这样做时,我会听到所有的文本。没有任何内容被缓冲或剪辑。但后来我使用的是 JAWS 2018(当前版本),它比当时可用的 JAWS 13 更先进一些。

于 2018-09-11T18:59:05.737 回答