2

目の見えるユーザーには表示されないラベルに値を動的に挿入しようとしていますが、列に表示されている視覚障害のあるユーザーのスクリーンリーダーで読み取られます。dojoを使用してこれを達成するにはどうすればよいですか?

<html>
<head>
<title>Dojo Labels</title>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/dojo/1.3.2/dojo/dojo.xd.js"></script>
<style type="text/css">
    .style1
    {
        width: 154px;
    }
</style>
</head>
<body>
<table style="width: 51%; height: 204px;">
    <tr>
        <td class="style1">
            &nbsp;
            <input id="Checkbox1" type="checkbox" />
            <label for="Checkbox1"></label>
        </td>
        <td>
           John
        </td>
        <td>
            Doe
        </td>
    </tr>
    <tr>
        <td class="style1">
            &nbsp;
            <input id="Checkbox2" type="checkbox" />
            <label for="Checkbox2"></label>
        </td>
        <td>
            Jane
        </td>
        <td>
            Doe
        </td>
    </tr>
    <tr>
        <td class="style1">
            &nbsp;
            <input id="Checkbox3" type="checkbox" />
            <label for="Checkbox3"></label>
        </td>
        <td>
           John
        </td>
        <td>
           Smith
        </td>
    </tr>
</table>
</body>
</html>
4

3 に答える 3

6

ラベルを動的に変更する必要がある場合は、次のことを試すことができます。

dojo.query("label[for=Checkbox1]")[0].innerHTML = "text";

ただし、スクリーンリーダーなのかブラウザなのかを検出するロジックが必要な場合は、仕方がありません。ただし、スタイルdisplay:noneを追加するだけで、いつでもテキスト付きのラベルをレンダリングできます。

<label for="Checkbox2" style="display:none;">text</label>
于 2010-11-24T17:48:11.843 に答える
0

私があなたがしていることを正確に理解しているかどうかは正確にはわかりませんが、dojoはDOMノードの属性値を変更できるメソッドを提供します。それはdojo.attr()と呼ばれます

于 2010-11-24T17:38:13.150 に答える
0

多分これは助けになるでしょう。

ラベルの内容を取得するには:dijit.byId( "btnButtonName")。get( "label")== "SomeName");

ラベルの内容を設定するには:dijit.byId( "btnButtonName")。set( "label"、 "SomeName");

于 2013-05-30T06:20:41.773 に答える