11

私が現在取り組んでいる Web サイトには、タイプが " main" に設定されている section 要素があります。WAI-ARIAによると、section要素は属性 ( )mainとして使用できます。rolerole="main"

しかし、W3C バリデーターを使用してサイトを実行すると、「要素セクションの属性ロールの主な値が正しくありません」というメッセージが表示されます。エラー。以前に別の Web サイトで値を使用しmain、検証に合格しましたが、現在は有効ではなく、同じエラーを報告しています。

最近HTML5の仕様が変わってmain値を出した?WAI-ARIA や W3C バリデーターを信じるべきですか? WAI-ARIA ページは古くなっていますか? sectionrole 属性なしで要素を保持する必要がありますか (「地域」のデフォルト値に戻ります)。

これに関する考えやヒントをいただければ幸いです:)

4

3 に答える 3

4

mainロールが有効かどうかは、使用している Doctype によって異なります。HTML5 doctype を使用している場合:<!DOCTYPE html>検証する必要があります。XHMTL や html4 などの以前の doctype を使用している場合は、そうではありません。詳細については、 https://developer.mozilla.org/en-US/docs/Accessibility/ARIA/Web_applications_and_ARIA_FAQ#What_about_validation.3Fを参照してください。

有効でない doctype を使用する必要があり、検証が必要な場合は、JavaScript を介して追加できます。これにより、検証の問題が回避されます。

ただし、mainロールは特定の要素で使用された場合にのみ検証されます。section要素alertの有効なロールは、、、、、、、、、、およびです。_ alertdialog_applicationcontentinfodialogdocumentlogmarqueesearchstatus

HTML の最新バージョン。HTML5.1 には、main要素を介した main のネイティブ サポートが含まれています。の代わりにこの要素を使用できます<section role="main">http://www.w3.org/html/wg/drafts/html/master/grouping-content.html#the-main-elementを参照してください

、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、およびrole="main"、おそらくarticle_ div_ figure_ canvas_ p_ pre_ blockquote_ output_ span_ table_ td_ tr_ em_ strong_ small_ s_ cite_ q_ dfn_ abbr_ time_ code_ var_ samp_ kbd_ sub_ sup_ i_ b_ u_ mark_ ruby_ rt_ rp_ bdi_ bdo_他の何人か。明らかに、これらの多くは暗黙のセマンティクスを持つ専門的な要素であり、特定のコンテキストでのみ使用して有効にすることができます。ほとんどの場合、どちらか、brwbrmaindiv、またはarticle使用するのに最も適した要素になります。詳細については、https://dvcs.w3.org/hg/aria-unofficial/raw-file/tip/index.html#recommendations-tableを参照してください。

于 2013-04-29T23:56:40.127 に答える
1

Validator の HTML Doctype オプションを HTML5 に切り替えると、少なくとも<div>. 以下のマークアップに対してバリデーターを実行したところ、検証されました。

<!DOCTYPE html>
<head><title>Foo</title></head>
<body>
<div role='main'>
<p>foo</p>
</div>
</body>

HTML5 の検証は実験的なものとしてマークされており、<section>.

検証はアクセシビリティの前提条件ではないことにも注意してください。属性を含めて、roleスクリーン リーダーのユーザーにその機能を差し控える検証に失敗することをお勧めします。

于 2013-04-29T20:35:02.023 に答える