html - 屏幕阅读器不读取自定义下拉菜单的选项

标签 html screen-readers nvda

我有一个自定义的 js 下拉列表,屏幕阅读器不会读取它,如果下拉列表打开,则不会读取使用箭头键从一个选项移动到另一个选项,只有在选择其中一个选项后,所选选项才会发音,所以问题是,用户在选择一个选项之前对可用选项列表一无所知。

我已经定义了角色,但它仍然不起作用。

<div class="select__holder" role="listbox" id="select-7181726" style="top: 1540px; max-height: 324.955px; left: 531.352px; width: 759px;">
    <div id="select-7181726option-11" data-index="0" data-value="1" role="option" class="select__option" aria-selected="false">
        <span class="select__option__lbl">  
            <span class="select__option__txt">option 1</span>
        </span>
    </div>
    <div id="select-7181726option-22" data-index="1" data-value="2" role="option" class="select__option" aria-selected="false">
        <span class="select__option__lbl">  
            <span class="select__option__txt">option 2</span>
        </span>
    </div>
    <div id="select-7181726option-33" data-index="2" data-value="3" role="option" class="select__option" aria-selected="false">
        <span class="select__option__lbl">  
            <span class="select__option__txt">option 3</span>
        </span>
    </div>
    <div id="select-7181726option-44" data-index="3" data-value="4" role="option" class="select__option active" aria-selected="true">
        <span class="select__option__lbl">  
            <span class="select__option__txt">option 4</span>
        </span>
    </div>
    <div id="select-7181726option-55" data-index="4" data-value="5" role="option" class="select__option" aria-selected="false">
        <span class="select__option__lbl">  
            <span class="select__option__txt">option 5</span>
        </span>
    </div>
</div> 

我该怎么做才能让屏幕阅读器阅读它。

最佳答案

所以我找到了一个解决方案,我的代码的问题是,当我们滚动选项时,它没有改变输入字段中的值。当我们浏览选项时更改输入字段的值会使屏幕阅读器读取它们。

关于html - 屏幕阅读器不读取自定义下拉菜单的选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57923491/

相关文章:

javascript - 自定义显示/隐藏链接

php - php中不同手机使用html5 input[type=file]上传,最后type不一样

accessibility - 如何防止 JAWS 屏幕阅读器读取击键?

html - NVDA 在 Chrome 中读出文本两次

javascript - 有没有办法在不添加事件的情况下对点击使用react?

javascript - 如何在 firebase 中手动拍摄多个快照

javascript - jQuery 嵌套函数

accessibility - 促销折扣横幅的咏叹调角色

css - 如何测试Aural style sheets/CSS3语音?

javascript - NVDA 没有正确宣布 aria-live 区域