Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么在HTML中为文本使用display:hidden被认为是不好的做法?_Html_Css_Image_Hidden_Indentation - Fatal编程技术网

为什么在HTML中为文本使用display:hidden被认为是不好的做法?

为什么在HTML中为文本使用display:hidden被认为是不好的做法?,html,css,image,hidden,indentation,Html,Css,Image,Hidden,Indentation,我最近遇到了这个教程,它使用CSS背景图像来显示网页的徽标,而不是使用HTML标记。包含徽标的div中有一个占位符文本,为了使该文本消失,作者使用文本缩进:-9999px而不是显示:隐藏,因为他说使用后者是不好的做法 那么,为什么认为这是一种不好的做法呢?主要是因为屏幕阅读器不会阅读隐藏的内容,但许多人会阅读已经放置在屏幕外但仍然可见的内容。主要是因为屏幕阅读器不会阅读隐藏的内容,但许多人会阅读屏幕外但仍然可见的内容。首先,没有所谓的显示:隐藏,其显示:无或其可见性:隐藏或溢出:隐藏说到你的问题

我最近遇到了这个教程,它使用CSS背景图像来显示网页的徽标,而不是使用HTML标记。包含徽标的div中有一个占位符文本,为了使该文本消失,作者使用文本缩进:-9999px而不是显示:隐藏,因为他说使用后者是不好的做法


那么,为什么认为这是一种不好的做法呢?

主要是因为屏幕阅读器不会阅读隐藏的内容,但许多人会阅读已经放置在屏幕外但仍然可见的内容。

主要是因为屏幕阅读器不会阅读隐藏的内容,但许多人会阅读屏幕外但仍然可见的内容。

首先,没有所谓的显示:隐藏,其
显示:无或其
可见性:隐藏
溢出:隐藏
说到你的问题,我不喜欢用它,相反,我使用了一个
img
标签,带有
alt
属性,它将描述我的图像,是的,屏幕阅读器确实阅读
alt
文本,如果你的
img
标签上没有
alt
,它将简单地忽略它

例如,如果我使用
img
作为我的徽标,那么我将使用

<img src="#" alt="Company Name Logo" title="Company Name" />

首先,没有所谓的显示:隐藏,其
显示:无或其
可见性:隐藏
溢出:隐藏
说到你的问题,我不喜欢用它,相反,我使用了一个
img
标签,带有
alt
属性,它将描述我的图像,是的,屏幕阅读器确实阅读
alt
文本,如果你的
img
标签上没有
alt
,它将简单地忽略它

例如,如果我使用
img
作为我的徽标,那么我将使用

<img src="#" alt="Company Name Logo" title="Company Name" />

因为有时屏幕阅读器和搜索引擎会忽略显示为“无”或“可见性:隐藏”的元素,但不会忽略出于搜索引擎优化和/或语音目的而放置在屏幕外的元素。然而,无论哪种方法是“坏习惯”都不是一个真正的行业协议,更多的是取决于作者对这些工具的真正了解以及他们对网站的目标

还要记住,建议至少有5年的历史,随着时间的推移,情况会发生变化,所以当时的“最佳实践”并不是现在的最佳实践


所以,找出你想要达到的目标,然后考虑你的选择,这就是我心中的“最佳实践”。p> 因为有时屏幕阅读器和搜索引擎会忽略显示为“无”或“可见性:隐藏”的元素,但不会忽略出于搜索引擎优化和/或语音目的而放置在屏幕外的元素。然而,无论哪种方法是“坏习惯”都不是一个真正的行业协议,更多的是取决于作者对这些工具的真正了解以及他们对网站的目标

还要记住,建议至少有5年的历史,随着时间的推移,情况会发生变化,所以当时的“最佳实践”并不是现在的最佳实践


所以,找出你想要达到的目标,然后考虑你的选择,这就是我心中的“最佳实践”。p> 为徽标使用背景图像意味着您可以将徽标文本放置在同一元素中

其中一个原因是,当看不到徽标时,可访问性读者(针对视力受损者)会阅读徽标文本。但是,您不希望文字覆盖在徽标上,因此可以通过文字缩进将其隐藏

显示内容:不读取任何元素


我不是100%肯定这一点,但我还记得读到一些搜索引擎忽略隐藏元素中的内容。但是,它们可以索引缩进的内容,但这需要验证。

使用背景图像作为徽标意味着您可以将徽标文本放置在同一元素中

其中一个原因是,当看不到徽标时,可访问性读者(针对视力受损者)会阅读徽标文本。但是,您不希望文字覆盖在徽标上,因此可以通过文字缩进将其隐藏

显示内容:不读取任何元素


我不是100%肯定这一点,但我还记得读到一些搜索引擎忽略隐藏元素中的内容。但是,他们可能会索引缩进的内容,但这需要验证。

哦,我的错。我的意思是显示:没有。谢谢您的回复!:)哦,我的错。我的意思是显示:没有。谢谢您的回复!:)我现在明白了。谢谢你的建议!:)我现在明白了。谢谢你的建议!:)