【发布时间】:2016-05-28 10:50:18
【问题描述】:
所以这似乎是一个非常简单的问题,但我无法理解它。我有以下 HTML:
<h2>word 1 - <strong> word 2 </strong></h2>
我知道这在语义上不正确,我不应该在标题中包含 strong,但由于设计要求,我需要将第二个单词加粗,而不是第一个。
我正在努力确保该文本仍然可以访问,但是当我使用屏幕阅读器时,它会给我带来奇怪的读数。我猜这是因为<h2> 标签内的<strong> 标签。
有人知道更好的方法吗?我错过了什么吗?
编辑:对不起,你是对的“奇怪的读数”并没有说太多。当我将鼠标悬停在标题上时,它会显示单词 1,我必须将鼠标悬停在单词 2 上才能在阅读器中显示它,其中所需的行为是:悬停标题并阅读单词 1 和 2。
编辑 2:使用 <span> 和 <b> 标签会产生相同的行为
【问题讨论】:
-
<span>标签呢?<h2>One <span>two</span></h2>, JSFiddle. -
定义“奇怪的读数”?
-
使用另一个语义中性的元素,例如
<span>,也许,并适当地设置它的样式? -
大多数屏幕阅读器用户不会将鼠标悬停在单词上,因为他们看不到它们。当您使用全读命令时,屏幕阅读器的行为如何?
-
当您将鼠标悬停在标题上时,如果您将鼠标悬停在第 1 个单词上只会读取“单词 1”,然后您必须将鼠标悬停在“单词 2”上才能读取
标签: html accessibility semantic-markup screen-readers