2016-05-25 4 views
0

Ich habe eine Kontrolle namens _message. Mit sapui5 versuche ich, eine Textbeschriftung zu erstellen und das Element per ID mit jQuery abzurufen und die arialLabelledBy für dieses Element festzulegen. Wenn ich den Erzähler einschalte und auf/hue oder den blauen Umriss um das ausgewählte Element erhalte, liest er nichts.ArialLabelledBy funktioniert nicht

Mache ich etwas falsch?

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

Welcher Browser/OS/Bildschirmleser? Haben Sie ein HTML-Beispiel (Sie haben ein Skript zur Verfügung gestellt)? Können Sie sehen, dass das Attribut dem Element im Inspector hinzugefügt wird? Fügen Sie das Attribut einem Steuerelement hinzu, das den Fokus erhält? – aardrian

+0

Zeigen Sie bitte das resultierende HTML an – unobf

Antwort

0

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

  1. Sie eine HTML-label für ein nicht Bedienelement geschaffen haben. Sie sollten ein TextView-Element erstellen.

  2. Sie haben ein Label-Objekt erstellt, aber dieses Objekt nicht in das DOM eingefügt.

Sie haben das Objekt in der DOM einzulegen, bevor die Verbindung mit addAriaLabelledBy sie ein bestehendes Objekt zu verweisen. (Siehe placeAt zum Beispiel)