WFFM 表单标签具有多余的角色属性
WFFM form tag has role attribute which is redundant
WFFM 生成的标签包含属性 role="form"。
这被认为是冗余属性,导致我们的网站可访问性扫描出现问题。
以下是可访问性扫描的具体信息...
使用了一个 WAI-ARIA 属性,该属性与应用它的 HTML 元素具有完全相同的特性。 WAI-ARIA 属性是多余的,因为它不向用户提供任何附加信息。
查看随 WFF 安装的 MVC 表单渲染,我看到它指向以下 class 和方法 - Sitecore.Forms.Mvc.Controllers.FormController、Sitecore.Forms.Mvc.
反编译 class 我可以看到它们是一个 Sitecore.Forms.Mvc.Constants class,其中包含呈现的表单元素的几个属性,但不包含 role="form"属性。
有人知道 Sitecore 可能在哪里将属性角色添加到表单元素吗?
检查 Views\Form\EditorTemplates\FormViewModel.cshtml
文件。
你会在那里看到:
var attributes = new RouteValueDictionary()
{
{ "enctype", "multipart/form-data" },
{ "class", @Model.CssClass },
{ "id", Model.ClientId },
{ "role", "form" },
{ Constants.Wffm, Model.Item.ID }
};
并且在 BeginRouteForm
方法中使用了一些较低的属性(包含 form
角色):
using (Html.BeginRouteForm(routeName, queryString, FormMethod.Post, attributes))
WFFM 生成的标签包含属性 role="form"。
这被认为是冗余属性,导致我们的网站可访问性扫描出现问题。
以下是可访问性扫描的具体信息...
使用了一个 WAI-ARIA 属性,该属性与应用它的 HTML 元素具有完全相同的特性。 WAI-ARIA 属性是多余的,因为它不向用户提供任何附加信息。
查看随 WFF 安装的 MVC 表单渲染,我看到它指向以下 class 和方法 - Sitecore.Forms.Mvc.Controllers.FormController、Sitecore.Forms.Mvc.
反编译 class 我可以看到它们是一个 Sitecore.Forms.Mvc.Constants class,其中包含呈现的表单元素的几个属性,但不包含 role="form"属性。
有人知道 Sitecore 可能在哪里将属性角色添加到表单元素吗?
检查 Views\Form\EditorTemplates\FormViewModel.cshtml
文件。
你会在那里看到:
var attributes = new RouteValueDictionary()
{
{ "enctype", "multipart/form-data" },
{ "class", @Model.CssClass },
{ "id", Model.ClientId },
{ "role", "form" },
{ Constants.Wffm, Model.Item.ID }
};
并且在 BeginRouteForm
方法中使用了一些较低的属性(包含 form
角色):
using (Html.BeginRouteForm(routeName, queryString, FormMethod.Post, attributes))