7

会社の営業時間を HTML5 の microdata でマークアップすることになっています。Google と schema.org で少し検索した後、次のコードを書きました。

<time itemprop="openingHours" datetime="Mo 13:00-17:30"><span class="day">Maandag:</span>   <span class="hours">13:00-17:30</span></time>
<time itemprop="openingHours" datetime="Tu 09:00-17:30"><span class="day">Dinsdag:</span>   <span class="hours">09:00-17:30</span></time>
<time itemprop="openingHours" datetime="We 09:00-17:30"><span class="day">Woensdag:</span>  <span class="hours">09:00-17:30</span></time>
<time itemprop="openingHours" datetime="Th 09:00-17:30"><span class="day">Donderdag:</span> <span class="hours">09:00-17:30</span></time>
<time itemprop="openingHours" datetime="Fr 09:00-21:00"><span class="day">Vrijdag:</span>   <span class="hours">09:00-21:00</span></time>
<time itemprop="openingHours" datetime="Sa 08:30-15:00"><span class="day">Zaterag:</span>   <span class="hours">08:30-15:00</span></time>

Google の構造化データ テスト ツールで Web サイトをチェックインすると、構造化データが正しく認識されていることがわかります。問題は、この割り当ての要件の 1 つが、W3C の HTML バリデーターに準拠しているということです。時間要素ごとに、次のエラーが発生します。

Bad value Mo 13:00-17:30 for attribute datetime on element time: The literal did not satisfy the time-datetime format.

このエラーが発生する理由はわかりますが、HTML5 Microdata でマークアップされ、HTML5 バリデーターに従って有効な HTML であるという方法で営業時間を指定する方法はわかりません。

皆さんがこれについて私を助けてくれることを願っています。:)

4

3 に答える 3

6

W3C HTML チェッカー (別名バリデーター) のメンテナーはこちら。そのチェックを行うコードを書きました。質問の値Mo 13:00-17:30は、HTML 仕様のルールに準拠していないため、許可された値はdatetime.

Mo 13:00-17:30は特別な時間範囲を指定しようとしているようです: 曜日と時間範囲。

しかし、HTML 仕様では、値をその形式にすることは許可されていません。許容される最も近い形式は、ISO8601 形式の期間文字列です。

有効な期間文字列: datetime="4h 30m".

HTML 仕様では、期間を指定するためのルールは、時間 + 分 + 秒の単一の式でなければならないためです。そう:

  • (質問にあるように)時間のペアを指定する期間式は無効です
  • 曜日を指定する期間の式が無効であるため
于 2015-09-12T13:55:17.243 に答える
2

dataの代わりに使用しましたtime-validator.w3.orgと同様に機能しwww.google.com/webmasters/tools/richsnippetsます: <data itemprop="openingHours" value="Mo-Su 07:00-22:00">7 days a week, 7 am to 22 pm</data> freenode#whatwg の Hixie に感謝します。

于 2014-09-11T23:35:25.907 に答える
1

datetime形式が原因で検証が失敗する場合は、タグ要素に営業時間を配置できますmeta

  <meta itemprop="openingHours" content="Mo,Tu 11..." />
  <meta itemprop="openingHours" content="We,Th 12..." />
  ...

specs によると、要素が属性を持っている場合、meta要素はそこで有効になります。itemprop

于 2016-01-02T22:20:20.827 に答える