我在html中创建了一个select
,看起来像
<select
multiple
name="carIds"
aria-hidden="true"
class="hide"
value.bind="carIds">
</select>
我面临的问题是PHPStorm用
对这个元素作出反应没有相关标签或标题属性的表单输入
此检查突出显示没有必需关联标签(WCAG 2.0:H44)或标题属性(WCAG 2.0:H65)的表单元素,并提供创建新标签或添加属性的功能
为什么隐藏元素需要标题?显然,设置标签是没有意义的......
P.S。我也尝试设置hidden
属性,但没有任何变化。
答案 0 :(得分:1)
TL; DR :不要在IDE警告中搜索含义。 IDE会尝试帮助您,但有时会失败。如果你可以修复警告,那就有意义了 - 去做吧。如果没有意义 - 跳过它。
长版
原因很可能是,在显示页面时可以更改元素的状态。属性hidden
或类hide
不保证该元素实际上会被隐藏。 E.g:
[hidden] {
display: block !important;
visibility: visible !important;
}
将显示此元素。
这也可以在运行时由JavaScript更改:属性/类可以删除,从那时起元素可见。即使aria-hidden
属性也可以轻松删除。
大多数抓取工具都不知道CSS以及隐藏元素的事实。他们将检索整个HTML并按原样处理。
所有无意义警告的主要原因是IDE无法完全理解您的需求以及您正在做什么,因为它无法知道您正在使用这篇HTML进行进一步操作。
最后,这只是一个警告(IntelliJ / PHPStorm / WebStorm中有很多可论证的警告)。它总是可以跳过。