WFFM表单标记具有多余的

时间:2017-05-09 23:53:34

标签: sitecore web-forms-for-marketers

WFFM生成的标签包含属性role =" form"。

这被视为冗余属性,并导致我们的网站辅助功能扫描出现问题。

以下是辅助功能扫描的具体内容......

使用了与其应用的HTML元素具有完全相同功能的WAI-ARIA属性。 WAI-ARIA属性是多余的,因为它不会为用户提供任何其他信息。

查看使用WFF安装的MVC表单呈现,我看到它指向以下类和方法--Sitecore.Forms.Mvc.Controllers.FormController,Sitecore.Forms.Mvc。

反编译该类我可以看到它们是一个Sitecore.Forms.Mvc.Constants类,它包含渲染表单元素的几个属性,但不包含role =" form"属性。

有人知道Sitecore可能会将属性角色添加到表单元素吗?

1 个答案:

答案 0 :(得分:2)

检查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 }
};
form方法中使用

并稍低一些属性(包含BeginRouteForm角色):

using (Html.BeginRouteForm(routeName, queryString, FormMethod.Post, attributes))