当前位置: 首页 > 知识库问答 >
问题:

超文本标记语言“隐藏”和“隐藏”属性有什么区别?

焦光霁
2023-03-14

在使用Angular材质时,我一直在看aria属性。有人能给我解释一下,aria前缀是什么意思吗?但最重要的是,我试图理解的是aria-隐藏隐藏属性之间的区别。

共有3个答案

公西飞鸾
2023-03-14

根据HTML 5.2:

当在元素上指定时,[隐藏属性]表示该元素尚未或不再与页面的当前状态直接相关,或者它被用于声明要重用的内容由页面的其他部分重用,而不是由用户直接访问。

示例包括一些面板未暴露的选项卡列表,或用户登录后消失的登录屏幕。我喜欢称这些事情为“暂时相关”,即它们基于时间而相关。

另一方面,ARIA 1.1说:

[aria隐藏状态]指示元素是否暴露于可访问性API。

换句话说,带有aria hidden=“true”的元素将从可访问性树中删除,这是大多数辅助技术所推崇的,带有aria hidden=“false”的元素肯定会暴露在树中。没有aria hidden属性的元素处于“未定义(默认)”状态,这意味着用户代理应根据其呈现将其公开给树。E、 g.如果其文本颜色与其背景颜色匹配,则用户代理可以决定将其删除。

现在让我们比较一下语义学。对于尚未“暂时相关”但将来可能会变得相关的元素,使用隐藏是合适的,但不是aria-隐藏(在这种情况下,您将使用动态脚本来删除隐藏属性)。相反,在始终相关但您不想弄乱可访问性API的元素上使用aria-隐藏是合适的,但不是隐藏;此类元素可能包括“视觉天赋”,例如用户不需要使用的图标和/或图像。

语义学在浏览器/用户代理中具有可预测的效果。我区分的原因是推荐用户代理行为,但不是规范所要求的。

隐藏属性应该隐藏所有演示文稿中的元素,包括打印机和屏幕阅读器(假设这些设备符合HTML规范)。如果要从可访问性树以及视觉媒体中删除元素,则隐藏即可。但是,不要仅仅因为想要这种效果就使用隐藏。首先问问自己隐藏的语义是否正确(见上文)。如果隐藏在语义上不正确,但您仍然希望在视觉上隐藏元素,那么可以使用其他技术,如CSS。

带有aria hidden=“true”的元素不会显示在可访问性树中,例如,屏幕阅读器不会公布它们。这项技术应该小心使用,因为它将为不同的用户提供不同的体验:可访问的用户代理不会宣布/呈现它们,但它们仍然在可视代理上呈现。如果做得正确,这可能是一件好事,但它有可能被滥用。

最后,这两个属性在语法上存在差异。

隐藏是一个布尔属性,这意味着如果该属性存在,则无论它可能具有什么值,该属性都为真;如果该属性不存在,则该属性为假。对于真正的情况,最佳做法是要么根本不使用任何值(<代码>

相比之下,aria hidden是一个枚举属性,允许值的有限列表之一。如果存在aria hidden属性,则其值必须为true或false。如果需要“未定义(默认)”状态,请将该属性一起删除。

进一步阅读:https://github.com/chharvey/chharvey.github.io/wiki/Hidden-Content

马丰
2023-03-14

隐藏属性是布尔属性(真/假)。在元素上使用此属性时,它会删除与该元素的所有相关性。当用户查看html页面时,具有隐藏属性的元素不应可见。

例子:

    <p hidden>You can't see this</p>

Aria隐藏属性表示该元素及其所有后代在浏览器中仍然可见,但对辅助工具(例如屏幕阅读器)不可见。

例子:

    <p aria-hidden="true">You can't see this</p>

看看这个。它应该能回答你所有的问题。

注意:ARIA代表可访问的富Internet应用程序

资料来源: Paciello集团

訾稳
2023-03-14

ARIA(可访问的富Internet应用程序)定义了一种使残疾人更容易访问Web内容和Web应用程序的方法。

隐藏属性在HTML5中是新的,它告诉浏览器不要显示元素。aria hidden属性告诉屏幕阅读器是否应该忽略该元素。有关更多详细信息,请查看w3文档:

https://www.w3.org/WAI/PF/aria/states_and_properties#aria-隐藏的

使用这些标准可以使残疾人更容易使用网络。

 类似资料:
  • 问题内容: 使用Angular Material时,我一直看到aria属性。有人可以向我解释,aria前缀是什么意思?但最重要的是,我想了解的是和属性之间的区别。 问题答案: ARIA(可访问的富Internet应用程序)定义了一种使残障人士更容易访问Web内容和Web应用程序的方法。 该属性是HTML5中的新增属性,它告诉 浏览器 不要显示该元素。该属性告诉 屏幕阅读器 是否应该忽略该元素。请查

  • 我正在工作的工具提示和从后端我将获得数据与html标记。我需要在工具提示中显示相应的标签中的相应数据。例如,我将从后端获得Hello用户单击此处。我必须显示为你好用户在h1格式,点击这里应该是一个锚。我尝试了这两个功能,并取代其不工作。 具有以下功能: 替换: https://codesandbox.io/s/serene-fast-u8fie?file=/App.svelte

  • 我在jQuery中看到了这一点——它做了什么?

  • 信息隐藏和封装之间有什么区别? 我已经读过,封装意味着将数据和应该对其进行操作的过程捆绑在一起。如果是这样,那么下面的类是否实现了封装? 现在声明数据属性会实现信息隐藏吗?

  • Linux 下,名称中第一个字符为 . 的文件或者文件夹,系统会将它们隐藏起来。传统上,这种文件大多是用户的配置文件。 您可以尝试以下操作: cd ~ #进入您的用户目录 ls #查看当前目录下的文件列表 ls -a #查看所有文件的文件列表(包括隐藏文件)。 如果您只想查看隐藏文件,而不包括这两个特殊目录,您可以使用 ls 命令的选项 -A (ls -A) 每个目录下都包含

  • 我们想隐藏“有优惠券吗?添加一张…”在WooCommerce结账时,如果已添加优惠券或客户在结账页面上添加优惠券。 目前,我们在下面有此代码,当客户在购物车页面输入优惠券,然后导航到结帐页面时,此代码有效。在这种情况下,“拥有优惠券?添加一张…”消息不可见。如果购物车页面上未添加优惠券,则消息可见。 这很好用!但是,当客户在结账页面上添加优惠券时,它不起作用。 1.)我们收到消息“优惠券已添加”,