我目前id
在 HTML 文档中的每个部分标题上都有一个属性,因此可以使用直接链接到文档中该部分的哈希片段生成 URL。例如:
<h2 id="section3.4">Section 3.4 - Foo</h2>
当然,这将被链接为page.html#section3.4
.
我想为该片段提供另一种格式,例如page.html#s3.4
. 确切的格式是任意的,在这里并不重要。
显然,不能简单地将多个 ID 标记应用于单个 HTML 元素来实现这一点。解决方案似乎是在与标题相同的位置向页面添加辅助标签,例如:
<h2 id="section3.4">Section 3.4 - Foo</h2><xyz id="s3.4"></xyz>
是否有用于此目的的标准或首选标签类型?环顾四周,我惊讶地发现没有“最佳实践”的答案。
从技术上讲,标签类型是任意的,因为任何具有id
属性的元素都应该工作,但是选择canvas
or script
,例如,显然是愚蠢的。我已经看到a
了建议,但我不确定这在语义上是否正确,因为a
应该创建一个指向某个位置的锚点,而不是一个位置。
我的一个想法是让封闭section
标签的 ID 成为目标,但这并不能启用任意数量的备用片段名称,并且从技术上讲,它没有链接到同一位置,因为边界框受 CSS 约束。
我觉得理想的元素是保证在 DOM 上没有视觉存在,与相邻元素保持相同的垂直位置,没有副作用,并且作为位置标记具有语义意义的元素,同时也不对可访问性有任何影响(例如屏幕阅读器)。但是,我想不出这样的元素。有没有我错过的标准?如果不是,哪个标签可能是最佳选择?