如何在保持W3C合规的前提下在网站许可锚点中使用CC机器可读元数据
如何在保持W3C合规的前提下在网站许可锚点中使用CC机器可读元数据
我之前也踩过这个坑,W3C校验器揪着<a>标签上的xmlns:cc属性报错确实挺闹心的。问题出在HTML5的规范上:XML命名空间属性(比如xmlns:cc)只能放在根<html>元素里,或者通过<meta>标签来声明,不能直接挂在普通的<a>标签上。
给你个靠谱的解决方案,分两步来:
第一步:在HTML头部声明机器可读元数据
把原来嵌在<a>标签里的CC元数据移到<head>里,用RDFa格式的<meta>标签来声明,这样机器能正确识别,同时符合W3C规范:
<head> <!-- 声明CC相关的元数据 --> <meta property="cc:attributionName" content="[My Name]"> <meta property="cc:attributionURL" content="https://example.com"> <meta property="cc:license" content="http://creativecommons.org/licenses/by/4.0/"> </head>
第二步:修改页面中的许可展示代码
把原来带xmlns:cc属性的<a>标签删掉多余属性,保留视觉展示和必要的链接就行,这样既不影响用户看到的内容,又能通过校验:
<a rel="license" target="_blank" href="http://creativecommons.org/licenses/by/4.0/"> <img alt="Creative Commons License" style="border-width:0" src="https://i.creativecommons.org/l/by/4.0/88x31.png"> </a><br> This work by <a href="https://example.com">[My Name]</a> is licensed under a <a rel="license" target="_blank" href="http://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 International License</a>
这样操作后,不仅W3C校验器不会再报错,CC的机器可读元数据也完整保留了——搜索引擎和版权工具依然能正确识别你的许可信息,用户看到的内容也和之前完全一样。
备注:内容来源于stack exchange,提问作者rupumped
相关产品推荐
相关产品推荐

