Web辅助功能失败"缺少表单标签"

时间:2016-07-01 09:58:33

标签: jquery asp.net asp.net-mvc

作为网络辅助功能练习的一部分,我们的网站正在寻找一些缺失的表单标签

文本区域是我们不希望有可见标签的元素(该网站是使用jQuery的ASP.NET MVC / Razor)

@Html.TextAreaFor(x => x.UserInput.FeedbackContent)

这个场景的正确方法是创建相应的LabelFor并将其隐藏吗?

@Html.LabelFor(x => x.UserInput.FeedbackContent, new {@class = 'hidden'})

或者TextAreaFor中有没有办法创建隐藏标签?

非常感谢

1 个答案:

答案 0 :(得分:0)

  

这个场景的正确方法是创建相应的LabelFor并将其隐藏吗?

如果您通过display: nonevisibility: hidden隐藏它,则不会,因为它们会make screenreaders ignore it as well

CSS技巧,您可以用它们直观地隐藏它,但是,请考虑在文本区域本身使用aria-label属性。在HTML中,这将是:

<textarea ... aria-label="Label for the text area" ...>

我不使用Asp.Net-MVC,但我相信你是这样做的:

@Html.TextAreaFor(x => x.UserInput.FeedbackContent, new Dictionary<string, object>(){{"aria-label", "Label for the text area"}});