我是否只应在表单控件上使用name属性? 不是。仅在元素上已经被废弃(并用任何元素上的id替换)。 HTML5规范中的属性索引显示了它仍应该使用的地方。 一些从未标准化的用法应该替换为class。 HTML5今天是否已经废弃了它? HTML5没有使用“废弃”的术语。它将其描述为已废弃但符合规范的功能。
我查看了Mozilla开发者网络(MDN)并找到了以下内容: 名称 <button>, <form>, <fieldset>, <iframe>, <input>, <keygen>, <object>, <output>, <select>, <textarea>, <map>, <meta>, <param> 元素名称。例如,服务器用于识别表单提交中的字段。 因此,您应仅在这些元素上使用此属性。任何具有name属性的其他元素都不正确。有关现有属性以及何时/为何使用它的更多信息,请查看完整文档: HTML 属性参考
看起来使用<a name="">已经被弃用了,这意味着你不应该在锚标签中使用它。在表单中,你仍然应该使用name = ""来标记你的表单控件 - 如果你想要使用验证,AngularJS要求你使用name = ""。更多信息可以参考这里和这里。