如果我正在寻找良好的HTML5语义实践,并为首席执行官优化代码。把画布放进标题里,会不会给出不好的结果?
我是说,这个
<h1>
<span> Main Title </span>
<canvas></canvas>
</h1>
... some content...
<h2>
<span> A article </span>
<canvas></canvas>
</h2>
...取而代之的是:
<h1>
<span> Main Title </span>
</h1>
<canvas></canvas>
... some content...
<h2>
<span> A article </span>
</h2>
<canvas></canvas>
...发布于 2013-11-19 11:17:54
这个问题与“应否将img放入h1?”或“是否应将”"foobar“插入h1?”→--取决于您的内容而定--没有什么不同。“
canvas表示内容,通常是图像。如果此图像是标题的一部分,则将canvas放在标题中。如果此图像是由标题描述的,则不要将其放在标题中。
不要忘记包括回退内容,例如<canvas><!-- fallback content --></canvas>。这个回退内容将是标题的一部分(对于老的用户代理、屏幕阅读器、搜索引擎、…)。如果标题没有意义,那么canvas一开始就不应该出现在那里。
请注意, HTML5 spec似乎有一个相关的段落:
当更合适的元素可用时,作者不应在文档中使用
canvas元素。例如,使用canvas元素来呈现页面标题是不合适的:如果想要的标题表示是图形化的,则应该使用适当的元素(通常是h1)标记它,然后使用CSS和支持技术(例如XBL )进行样式设置。
但是这个例子假设一个人将使用canvas而不是一个适当的元素。
发布于 2013-11-18 17:38:13
画布应该在标题之外。
发布于 2013-11-18 18:08:10
我认为2010年的StackOverflow问题与此相关:Replacing H1 text with a logo image: best method for SEO and accessibility?
我还认为,如果要在标记中使用画布元素等,那么确实需要在画布标记中包含一个alt属性来解释画布显示的内容,还需要在span(?)中包含alt属性文本。对于那些不支持画布的浏览器,可以在画布标记中添加标记。
https://stackoverflow.com/questions/20054116
复制相似问题