Become a Patron!

My Amazon wishlist can be found here.

Life Line

HTML name attribute deprecated

Just now somebody on IRC was claiming that the "name" attribute in HTML - the one that is used to give form input fields a name to be used in $_GET and _$POST in PHP is in fact deprecated. Quoting About.com that seems indeed true - but you should always double check on the internet, as nobody ever reads specifications right.

The W3C has also a section on this available , and if you only skim you might only see:

"Note that in XHTML 1.0, the name attribute of these elements is formally deprecated, and will be removed in a subsequent version of XHTML."

But if you read correctly, it's only for the elements: a, applet, form, frame, iframe, img, and map.

Today's lesson: always read the specs carefully .

Shortlink

This article has a short URL available: https://drck.me/hnad-5qa

Comments

No name for anchor tags? Does that mean no more #section to jump from place to place in a document?

"Sorry screen readers, I can no longer provide you with a way to skip my 20 item long menu at the top of each page. Enjoy!"

@Josh: Nah... there is the ID attribute for this of course.

@Josh, as is mentioned, you should use the ID element.

On a (Strict?) Doctyped XHTML page, you can reference any element with an ID by the standard hash URL.

For example, I have an ID called content (...). Adding #content to the URL will take me to that location on the page (foo.php#content). Exactly the same behavior as the old name attribute but far easier :)

Add Comment

Name:
Email:

Will not be posted. Please leave empty instead of filling in garbage though!
Comment:

Please follow the reStructured Text format. Do not use the comment form to report issues in software, use the relevant issue tracker. I will not answer them here.


All comments are moderated