11

Should I use the name attribute only for form controls? Is it deprecated today in HTML5?

I noticed similar questions are outdated, so I'm a little confused.

1

3 Answers 3

12

Should I use the name attribute only for form controls?

No. It is only on <a> elements that it is obsolete (and replaced with id on any element).

The attributes index in the HTML5 spec shows where it should still be used.

Some uses of it which were never standard should be replaced with class.

Is it deprecated today in HTML5?

HTML5 doesn't use the term "deprecated". It describes it as obsolete.

Sign up to request clarification or add additional context in comments.

1 Comment

In 2018, the attributes table is no longer present in that document. Aside from an archived copy you can find such a table now at html.spec.whatwg.org/multipage/indices.html#attributes-3
5

I checked Mozilla Developer Network (MDN) and found this:

name

<button>, <form>, <fieldset>, <iframe>, <input>, <keygen>, <object>, <output>, <select>, <textarea>, <map>, <meta>, <param>

Name of the element. For example used by the server to identify the fields in form submits.

So you should use this attribute only on these elements. Any other element with a name attribute is not correct. For more info about what attributes exists and where/who/why to use it check the full documentation:

HTML attribute reference

Comments

4

It seems that using <a name=""> is depreciated - which means you shouldn't use it for your anchor tags.

On forms you should still use name="" to label your form controls - AngularJS requires you to use name="" if you ever want to use validation.

Some more information here and here.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.