ArialLabelledBy不起作用

时间:2016-05-25 00:35:53

标签: javascript jquery html5 accessibility

我有一个名为_message的控件。使用sapui5我正在尝试创建一个文本标签,并使用jQuery通过id获取元素,并为该元素设置arialLabelledBy。 当我打开叙述者并单击/悬停或获取所选元素周围的蓝色轮廓时,它不会读取任何内容。

我做错了吗?

   var oLabel = new sap.ui.commons.Label({text: "Message screen reader"});
    this._msgid = this._message.getId();
    var textmsg = jQuery("#" + this._msgid);
    textmsg.addAriaLabelledBy(oLabel);

1 个答案:

答案 0 :(得分:0)

  

var oLabel = new sap.ui.commons.Label({text: "Message screen reader"});

  1. 您为非控件元素创建了一个HTML label。您应该创建一个TextView元素。

  2. 您已创建标签对象,但尚未在DOM中插入此对象。

  3. 在与addAriaLabelledBy建立关联之前,您必须在DOM中插入对象以引用现有对象。 (例如,参见placeAt