2017-02-09 4 views

答えて

0

すべての要素にattrbutesを設定する必要があります。最初のチェックボックスにaria-invalidをtrueに設定する場合は、この最後にのみ追加する必要があります。

Exemple:

<input name="nom" aria-invalid="false" 
    onclick="checkValidity('nom', ' ', 'your message 1');"> 
<br /> 
<input name="courriel" aria-invalid="false" 
    onclick="checkValidity('courriel', '@', 'your second message);"> 

//js 
<script type="text/javascript> 
    var checkValidity = function(aID, aMsg){ 
    var elem = this, 
    invalid = (elem.value.indexOf(aSearchTerm) < 0); 
    if (invalid) { 
    elem.setAttribute("aria-invalid", "true"); 
    updateAlert(aMsg); 
    } else { 
    elem.setAttribute("aria-invalid", "false"); 
} 
} 
</script> 

か、一般的にはjQueryの

0

を使用することができ、エラーである任意のオブジェクトがtrueにARIA-無効なセットを持っている必要があります。フィールドセットの設定を少し混乱させるかもしれません。フィールドセット内のすべてのオブジェクトにエラーがあることを意味しますか?何かが間違っていて、他のものがそうでない場合はどうなりますか?フィールドセットが間違っていますか?それとも部分的に間違っていますか?おそらく、フィールドセットに誤りがあるのが理にかなっていますが、それはおそらくルールではなく例外です。

技術的には、html仕様の観点からは、aria-invalidをフィールドセット(https://www.w3.org/TR/html51/sec-forms.html#the-fieldset-element)に設定するのが有効です。 「許可されたARIAの状態とプロパティの属性」を参照してください。

あなたの元の質問では、私は混乱しています。チェックボックスにaria-invalidを設定しますか?チェックボックスはどのように無効になりますか?それはチェックされているかどうかです。ボックスのチェックが有効でないシナリオにユーザーを入れますか?もしそうなら、チェックボックスを無効にしてはいけませんか?

aria-describedbyの場合は、さまざまなブラウザとスクリーンリーダーでテストすることをおすすめします。時にはaria-describedbyに関連付けられたラベルがすぐに読み取られないことがあります。一時停止する可能性があります。または、説明を聞くためにalt + <somekey>を押すと画面が表示されることがあります。一方、aria-labelledbyはすぐに読み込まれます。

0

私はチェックボックスをフォーム要素として設定しており、aria-invalidaria-describedby属性を使用する必要があります。属性はすべてのチェックボックスまたはフィールドセットに記述する必要がありますか?

理論的にはfieldsetに設定するのが理にかなっています。

個々のチェックボックスは、2つの状態しか持ち、かつ唯一のチェックボックス同じ理由で(例えば、使用許諾契約書)

があるとき、私はフィールドセット内の1つの個別のチェックボックスを除いて、エラーが発生している可能性がどのように見ることができませんaria-describedbyがエラーメッセージを指している場合は、同じ要素になければなりません。

関連する問題