Knockout.js 数据绑定aria标签不适用于按钮标记

Knockout.js 数据绑定aria标签不适用于按钮标记,knockout.js,wai-aria,Knockout.js,Wai Aria,我有一个按钮,我想添加一个aria标签,但我想绑定它,这样我的文件中就不会有硬编码文本,所以我试图对其进行数据绑定,但我无法正确显示aria标签 这是屏幕阅读器工作和读取的内容: <button class="styling" aria-label="Some random text"> <span class="icon"></span> </button> 这似乎是工作(对我来说,在FF)。虽然我无法访问屏幕阅读器,但它的行为与屏幕

我有一个按钮,我想添加一个
aria标签
,但我想绑定它,这样我的文件中就不会有硬编码文本,所以我试图对其进行数据绑定,但我无法正确显示aria标签

这是屏幕阅读器工作和读取的内容:

<button class="styling" aria-label="Some random text">
     <span class="icon"></span>
</button>

这似乎是工作(对我来说,在FF)。虽然我无法访问屏幕阅读器,但它的行为与屏幕阅读器棒的预期一样

  • 启用魔杖
  • 将鼠标悬停在按钮上方
  • 请参阅预期的文本
  • 确认DOM显示区域标签。我在IE11中也看到了这一点
  • 你在用屏幕阅读器吗?可能禁用它以确认您看到数据被绑定。然后启用它并确保它没有被绑定


    我也有同样的错误,结果是,当
    textFromModal
    没有值时,它没有显示出来。当我设置它时,它开始工作。我的确切HTML如下所示:

    <textarea
        aria-controls="chat-history"
        class="chat-input-textbox"
        data-bind="attr: {'aria-label': textFromModal}">
    </textarea>
    
    
    

    我使用
    进行了检查,并以相同的方式工作。

    显示绑定的viewmodel。让我们看看viewmodel,“textFromModal”可能是空的,这就是为什么aria标签没有显示。请查看Knockoutjs上下文调试器--它应该能够为您提供textFromModel是否有值的线索。@EricBronnimann每当我尝试使用调试器时,可能是我使用的方式不对,或者是其他什么。如何使用调试器检查该值?我在这里发布了一个小示例,其中使用了Knockout调试器:需要查找绑定中的任何错误,因为一个绑定中的异常可能会中断后续绑定的解析。一种方法是删除所有绑定,然后有条不紊地重新添加它们,测试每个绑定以确保其正常工作。这很乏味,但有时这是找出问题原因的唯一方法。您是否正在为这个黑色菜单使用某种插件?我在哪里可以买到“屏幕阅读器魔杖”?
    DisplayViewModal = function(){
        var self;
        self = {
                ....
                textFromModal: 'Label text to show',
                ....
               };
        return self;
    }
    return DisplayViewModal;
    
    <textarea
        aria-controls="chat-history"
        class="chat-input-textbox"
        data-bind="attr: {'aria-label': textFromModal}">
    </textarea>