【问题标题】:HTML5 semantic element of a playlist web app播放列表 Web 应用的 HTML5 语义元素
【发布时间】:2014-09-07 15:01:06
【问题描述】:

对于我们正在创建的音乐网络应用程序,我希望在所有相关元素的语义结构方面得到一些帮助。

播放列表由标题、标签和歌曲组成。

我附上了一张我认为应该如何划分的图片。这是正确的吗?




播放列表标题 h1 >

播放列表标签

标题>




歌名


今天时间>
添加到播放列表等
文章 >


歌名2 h2>
今天时间>
添加到播放列表等
文章 >

部分 >
主要>

音乐播放列表应该是这样的结构吗?感谢您的帮助:)。

【问题讨论】:

  • menu 在当前版本的 HTML5 中还存在吗? time 是指在您的方法中将歌曲添加到播放列表的时间? (我希望这首歌的播放时间也会显示在某个地方。)
  • 因为它是一个播放列表,也许我实际上会在这里使用ol/li 而不是在每首曲目中制作一个article ...(article 似乎有点过头了-the-top 用于基本上列出标题和时间并提供一些额外控件的结构。)

标签: html elements semantic-markup


【解决方案1】:

我不会为播放列表标签使用分段元素,因为我认为它们“不应该”在文档大纲中单独输入。

不仅仅是曲目列表,包括header 在内的整个播放列表应该在一个分段元素中。如果您认为播放列表是可以独立存在的内容(例如,精选播放列表),article 可能是合适的,否则section

单个曲目的标记看起来不错,除了 menu 元素,它不再是 HTML5 的一部分(它是 still in HTML 5.1)。而且您没有正确使用time 元素,因为“今天”不是有效值。

你可能想使用一个列表,但它并不是真正需要的,所以可以省略。

<main>

   <article>

     <header>
       <h1>Playlist title</h1>
       <div>playlist tags</div>
     </header>

     <ul>
       <li><article><!-- track 1 --></article></li>
       <li><article><!-- track 2 --></article></li>
     </ul>

   </article>

</main>

如果您想使用 Microdata 和/或 RDFa 对您的内容进行语义注释,请查看 Schema.org 的 MusicPlaylist type

【讨论】:

  • 谢谢,有道理!一个问题。我知道播放列表在技术上是一个列表,但我不明白将内容放在 ul 或 ol 中的优势。我总是必须添加额外的 css 来删除填充和列表样式类型。有什么优势?
  • @MikelPorrasHoogland:主要是一个语义问题(有人可能会争辩说您应该始终使用最具体的可用元素)。一个优势可能是屏幕阅读器之类的工具可以提供特殊的列表导航和公告,例如“列表,第 1 项,共 13 项”或类似内容。
猜你喜欢
  • 2014-05-28
  • 2015-06-20
  • 1970-01-01
  • 2014-07-16
  • 2012-10-12
  • 1970-01-01
  • 2017-10-15
  • 2014-03-10
  • 1970-01-01
相关资源
最近更新 更多