我正在为日历编写一些标记(想想谷歌日历或Apple的日历网络应用程序)。 Google的标记是一张大表。简化,就像这样:
<table>
<tr>(Entire Calendar week)
<td>(times)</td>
<td>Monday</td>
...
<td>Friday</td>
</tr>
</table>
在Apple的日历中,几乎每个页面上的元素都只是<div>
,这让我感觉不到语义。
在我的项目中,这是一个为期一天的日历。我只有左边的列表,标记每个半小时从早上9点到晚上9点,在右边,标志着事件发生的那一天。目前,我刚刚将时间列表设为<table>
,<section>
,以及事件<div>
。
我对我的方法的语义并不完全满意,谷歌似乎没问题,除非我觉得这只是一个只有一行的表格。如果我在没有动态事件之类的情况下标记一个名副其实的表格(就像你在高中时的课程安排一样),每列代表一天,每一行代表一个时间段,如一小时。
但当然,这会使动态事件变得复杂,这些事件需要根据他们的时间绝对地定位在他们的父母身上,并且他们可能不会完全适合表格行。
所以问题是,一天日历中最具语义标记的是什么,左边有一些时间,右边有一天?链接到规范的额外点数,或者至少是一个声誉良好的博客文章(我已经找不到该主题)。
答案 0 :(得分:1)
首先使td成为时间。不知道你在哪里放置部分或div,但如果你一天中有多个事件,比如你的时间,你应该使用一个有序列表。在那之后,每个事件都应该使用微格式标记....至少是一个hcalendar(hevent),但你可以通过在可能的情况下添加额外的微格式来加倍你的语义;所以,尽可能多地使用hcard等等。
我认为你没有尝试过。这里有一些:
https://developer.mozilla.org/en-US/docs/The_hCalendar_microformat
https://support.google.com/webmasters/answer/164506?hl=en
http://html5doctor.com/microformats/
专业提示:确保数据可以导出到Google日历和Apple日历。所以做一些嗅闻嗅探并将事件转换为适当的格式。 ;)