数据绑定aria标签无效按钮标签

时间:2016-02-05 00:37:17

标签: knockout.js wai-aria

我有这个按钮,我想添加一个aria-label,但我想绑定它,以便我的文件中没有硬编码文本所以我试图数据绑定它但我不是让aria-label正确显示。

这是有效的,并由屏幕阅读器阅读:

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

但这是我想要的工作,但它没有显示带有适当文字的咏叹调标签:

<button class="styling" data-bind="attr:{'aria-label': textFromModal}">
     <span class="icon"></span>
</button>

更新:

这是我的模态 - 我知道它正在工作,因为我正在显示其他项目,并且它们显示正常。

DisplayViewModal = function(){
    var self;
    self = {
            ....
            textFromModal: 'Label text to show',
            ....
           };
    return self;
}
return DisplayViewModal;

2 个答案:

答案 0 :(得分:1)

这似乎有效(对我来说,在FF中)。虽然我无法访问屏幕阅读器,但它的功能与屏幕阅读器的魔杖一样。

  1. 启用魔杖
  2. 将鼠标悬停在按钮上。
  3. 查看预期文字。
  4. 确认DOM显示区域标签。我也在IE11中看到了这一点。
  5. 您使用的是屏幕阅读器吗?也许禁用它以确认您看到绑定的数据。然后启用它并看到它没有被绑定。

    enter image description here

答案 1 :(得分:0)

我遇到了同样的错误,结果发现,textFromModal没有值时未显示该错误。当我设置它时,它开始工作。我的确切HTML看起来像这样:

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

我用<button>进行了检查,并且工作方式相同。