Grow your CSS skills. Land your dream job.

List of Deprecated Attributes Still in Widespread Use

Published by Chris Coyier

depelements.jpg

A "deprecated" element is an element the W3C has designated as outdated. These elements should not be used and are generally considered to be "bad code". If you use a STRICT DOCTYPE, deprecated elements will not pass validation.

The thing is, people still use them. In fact, many of them are in fairly widespread use. Why? Because they still work! Just because they are deprecated doesn't mean they don't work, it just means there is a "new" way to do what the deprecated element used to do (well...for the most part). Will these elements ever stop working? I'm not to say, but I tend to believe that eventually yes. Here are some of the common ones that you probably see all the time, and what to use instead.

There are a few things the deprecated elements can do that there is no alternative for. Noteably:

  • Starting and ordered list on a number other than 1. with start.
  • Applying a specific value to a list item with value.
  • Target, as mentioned above, has no alternative.

Some of these may be solved with CSS3. I'm not actually 100% sure though. If you really need to use some of these deprecated elements and still want your code to validate (and properly work for that matter), make sure to a Transitional DOCTYPE.

Thanks to Kevin for pointing out my misspelling of "deprecated" (I had it as "depreciated" before this post was updated).

Comments

  1. Kevin
    Permalink to comment#

    The proper term is “deprecated”. Many people use the less accurate “depreciated”, just like those who use “irregardless.”
    From “The World Wide Web Consortium (W3C)”

    Deprecated
    A deprecated element or attribute is one that has been outdated by newer constructs. Deprecated elements are defined in the reference manual in appropriate locations, but are clearly marked as deprecated. Deprecated elements may become obsolete in future versions of HTML.

    http://www.w3.org/TR/html4/conform.html

  2. Permalink to comment#

    Thanks Kevin. I never knew that. From Wikipedia: “Depreciated is often confused or used as a stand-in for “deprecated””

    I have updated the post.

  3. vince
    Permalink to comment#

    Well I guess the good thing is that I myself am guilty of only one of those tags. I still use the img border=”0″ tag. I guess i never thought of styling it. Thanks though.

  4. Totally agree 110%. However with most CMS align=”” is still commonly used and prefered including WordPress

  5. Clay Mergson
    Permalink to comment#

    There is one last ‘depreciated’ that you missed…. Subject is ‘Target’ and it’s right above Smashing Magazine. Search & Replace?

  6. Not to be picky, but you are actually reporting deprecated attributes, not elements.

    I really, really hope people stop using deprecated crap, especially the <font> tag.

  7. Kevin
    Permalink to comment#

    Thanks for the mention, Chris. I’ve taken over a seriously outdated site and have been cleaning it up. This post has helped me target some of the outdated attributes on the page and to look for more items to update.

  8. I think, about border, that you want to mean:
    a img {border: 0px;}
    but now is writed:
    img a {border: 0px;}

    Be careful when you are spreading techinques :P

  9. @Whack a Hack: YES. That is what I mean. The properties were out of order, I fixed it in the article. Thinking about it now, listing it as img a isn’t even possible =)

  10. Permalink to comment#

    Thank you! I’ve been searching far and wide for an alternative attribute for “border” and I’ve finnaly found it! You’re a hero, lol!

  11. AJ Love
    Permalink to comment#

    see here for a full list of all the Deprecated HTML attributes. there are about 47 of them. maybe we can update this page too?

    http://www.w3.org/TR/html4/index/attributes.html

This comment thread is closed. If you have important information to share, you can always contact me.

*May or may not contain any actual "CSS" or "Tricks".