Quantcast

Don't have an account? Register Now! Forgot password?

Maximum IT
Features

7 HTML Tags You Should NEVER Use Again

comment Commentsprint Printemail EmailDeliciousDiggStumbleUponRedditFacebookSlashdot

 

 

Over the first seventeen years of the web’s existence, HTML has undergone beaucoup changes. What was once the predominant language of the web now shares the spotlight with a variety of scripting languages, stylesheets, and other types of markup, ranging from Javascript to Cascading Style Sheets. The flexibility of modern scripting languages, separation of content and style have combined to become more like applications than the static web pages we all remember from the early days of the web.

Back in 1995, when HTML first took off with the general public, there were a number of offenders that made the Internet look aesthetically awful. Designers employed atrocious HTML elements, such as the <blink> and <marquee> tags, which only made a show of serious web coders. It’s doubtful that anyone at that time considered blinking and scrolling text fluid web design. 

In the last few years, CSS has taken off with the rise of Web 2.0 and has certainly transformed web design into a much simpler endeavor—gone are the days of having to repeat the same mundane code or navigating a sea of jumbled up HTML in search of that one inconsistency. Things have gotten better since the Nineties and early-2000s, but some web designers are still foolishly living in the past. We’ve decided to update the criteria of HTML elements that are simply outdated and have been replaced by a batch of shinier, better CSS elements. If 1997 was the last time you’ve had a crash course in web design, than read on to learn a few new things about this versatile web world.

Design Fumbles

<frame>

Back in the day, the main appeal of frames was that you could insert repeated chunks of HTML, such as a navigation bar, in multiple pages without having to reload a side menu bar for each page view.  Regardless of their good intentions, frames were never user friendly and really did a number by confusing search engines—if a search query matched a site as a whole, the search engine would return the frame set, though sometimes it would link to the wrong frame, confusing the user. Having a search engine recognize the correct page link was especially crucial if you wanted to increase your chances of receiving even average traffic numbers. Add that to the fact that this element embodies the epitome of tacky web design and there was never a right way to beautify this particular design faux-paux.

 

<FRAMESET cols="20%, 80%">
<FRAMESET rows="100, 200">
<FRAME src="contents_of_frame1.html">
<FRAME src="contents_of_frame2.gif">
</FRAMESET>

 

There is only one reason for using frames and that’s so search engines like Google can differentiate their site from others. Frames will never fit the conceptual design of the web. 

The Modern Alternative: Opt for a simplified CSS template with a minimal navigation bar.  Place the navigation at the top of the page for easy access and make sure that it reoccurs on every page. If you keep the layout consistent throughout your website sections, users should have no problem even loading the pages, since CSS is a much lighter way to lay out a website.

<table>

Tables are the most misused HTML element of all time. They are constantly used for laying out web sites, though their original intention was to provide structured data. Take our benchmarks tables, for example.

Back in the day, not all browsers supported CSS. So, tables became the standard for formatting webpage layouts and designers put parts of their content into specific arrangements within the columns. Even Adobe ImageReady’s image slicing plug-in exported the final product into tables and web design software perpetuated this erroneous trend. 

<table border="1">
<tr>
<td>row 1, cell 1</td>
<td>row 1, cell 2</td>
</tr>
<tr>
<td>row 2, cell 1</td>
<td>row 2, cell 2</td>
</tr>
</table>

The table element was never really meant to layout an entire site. Using it clutters up your web code and unnecessarily bogs down the page’s file size, which could affect the bandwidth of your server and your visitors.

Tables are also incredibly labor intensive. For each cell, you’d have to write out the element and make sure to close the tag.  In between closing the <tr> tag and making sure you didn’t leave a <td> tag open, the final product could turn out pretty disastrous. It’s also difficult to get each cell to do exactly what it’s specified it to do, and that’s primarily because, as reiterated, tables were never meant for designing web pages.

The Modern Alternative: Now that CSS has been refined and is compatible with all browsers, it’s become the standard for all web design. CSS not only radically reduces the weight of your website, it allows it to load at a faster rate and makes it available on a variety of platforms, including mobile web. CSS also make redesigns easier, since all you have to do is change the properties of your stylesheet instead of editing each page at a time.

A great way to get started and familiarize yourself with CSS is to find a site with free templates and practice laying out your own design. For those who learn better by doing, this is an incredibly effective way to learn how to manipulate stylesheets.

<imagemaps>

The image map is a list of coordinates on a specific image that are clickable and link to another page. Adobe ImageReady, Dreamweaver, and GIMP all contain plug-ins to map out image map coordinates and export them to HTML. 

<img src="awesomecomputer.gif" width="145" height="126" alt="This computer is awesome" usemap="#awesomecomputer" />

<map name="awesomecomputer">
  <area shape="rect" coords="0,0,82,126" href="sun.htm" alt="CPU" />
  <area shape="circle" coords="90,58,3" href="mercur.htm" alt="GPU" />
  <area shape="circle" coords="124,58,8" href="venus.htm" alt="PSU" />
</map>

Many sites use this element for their navigation bar, but it is one that should be avoided unless the situation requires otherwise. Generally, image maps are not very accessible and can be confusing to the average web user, especially if there’s no obvious indication. And, should there be a server timeout and your user is left with no image, rendering navigation around your site impossible.

The Modern Alternative: If the information you’re presenting is best exemplified visually than in text, use the image map. For example, in an educational setting, you could use a map of the United States, with each state linking to a page full of important factoids and information about that state.

Otherwise, a nicely designed navigation bar at the top of a page is easily noticeable and not at all confusing. You can use a CSS template to navigation bar. Make sure to use simple terms like “make your own buttons", or get creative using Photoshop to fully customize your own "home” and “about”.

Text Offenders

<font>

The font element specifies the font face, size, and color of your text. However, the <font> tag is limited in style options—only font face, size, and color can be formatted— and you’d have to write additional code to add any sort of text decoration, such as bolded text.

<font face="comic sans" size="3" color="red">Maximum PC</font>

Font elements also need to be applied at the instance of every new element. For example, if you’re using the paragraph element and are closing that tag, your font element is, by default, closed with it. So, you have to reestablish that element at the start of your next <p> tag, and repeat this process throughout your layout code. There is certainly too much code clutter when using this element.

Additionally, the <font> tag is a major hindrance because it means that the coder made a basic assumption about the web user’s browser and configuration.

The Modern Alternative: With the integration of easy-to-use style sheets in today’s web design, the font element is almost considered ancient history. Using CSS, you can apply properties to various forms of the font element with just one single batch of code.  You can establish your heading and link elements at the start of the document without having to repeat any sort of code each time you want to use that specific element.

In addition, not only does the CSS lighten the load of code in the page source, but should the site requires a color theme redesign, all it takes is tweaking the appropriate hex values in the stylesheet.

<b> and <i>

The Web Hypertext Technology Working Group (WHATWG) specifies that both the <b> and <i> tags are to be used as a last resort when no other element is more appropriate.

<b>Maximum</b><i>PC</i>

The truth is: it’s all semantics. The <b> tag does not specifically imply a strong emphasis on a particular word, nor does the <i> tag indicate that there is light emphasis. You could argue that you want the elements to convey either meaning.

The bold and italic font elements do not have to be considered illegal. Rather, it’s that they’re hardly used in the proper context. The <b> and <i> tags should never be used solely for the purpose of stylizing text and especially not for headers. After all, that’s what CSS is for.

The Modern Alternative: Use the <strong> and <em> tag to bold and italicize, respectively.

And what about underlining? W3schools.org, the leading opinion on fads in web coding, deprecate the <u> tag and strongly advise against it, especially since a user could confuse underlining text for an active hyperlink.

<small> and <big>

The point of small and big is to indicate text as either very important or not important at all.  However, web designers and bloggers alike have made the mistake of using this particular element to actually set the font size of their body text.

The problem is that some browsers actually ignore these elements all together.  In particular, <small> was supposed to simulate small caps, but the result is that the text is actually just a size smaller than the default.

<big>Maximum</big><small>PC</small>

The Modern Alternative: Specifying your body text and headers at the beginning of your code is the most organized way to manage fluidity in your body text.

If you’re writing something that requires citation, there is actually a citation tag, which is <cite>. Use this for attributions where applicable.

<bdo>

This tag allows you to set the text decoration of your text. When applied, the <bdo> will make your text display backward, with letters flipped horizontally.

<bdo>Maximum PC</bdo>

The Modern Alternative: If your goal is to specify the alignment of text, use paragraph elements, such as the <div> tag. You can add whether you want your text to align to the left, right, center, or justified.

COMMENTS:17
COMMENTS
avatarOn the issue of strong vs b

On the issue of strong vs b it's about structure/function vs look. Ideally, you want your text to have structural tagging/markup and the CSS handles the look and layout based on the tagging. So B just makes it bold. Using strong your CSS sheet can change how it looks in simple ways throughout the document. So you can change your layout and look for a whole site just by editing the strong definition your CSS.

<p>Similarly, you can have your CSS sheet apply layout to different bits of text drawn from a database for a dynamic page but will look cohesive as the CSS interprets the structure of the different bits of text by applying consistent layout based on the tagging. Or the samebits of text can be loaded by a different request and a different CSS applied for still another look and feel. It gives your content portability and reuse

 

 

Login or register to post comments
avatarNo

I have to disagree on the table part, I rather use tables then Div's because they're much easier when it comes to cross-browser. Not saying div's are bad, just rather work with tables.

Login or register to post comments
avatarTables

Although difficult to begin with, stopping using tables for layouts is an absolute must. If not for the flexibilty of divs and positioning that css brings then for the fact that anything within tables should be ignored by search engines as they should only contain data.

However the Title of this post is "HTML tags you should NEVER use again" so I would also disagree with having tables in the list. The use of tables for displaying data would be considered semantically correct and fine to use within "modern" websites.

Login or register to post comments
avatarTake a look at my site.

I use a combination of css and "classic" html. My website is for personal as opposed to business interest. I agree that the underline tag should never be used. I rely heavily on tables to get my pictures to align correctly but it is a pain to code. Dreamweaver makes it easier though. I admit, I would like to learn more css.

Always a work in progress, my site is http://tjhall1.home.comcast.net/~tjhall1/ . The part that's closest to finished is the CPK mini site (pic heavy). I got lazy on the other parts.

Login or register to post comments
avatarIt looks as though the

It looks as though the writer of this article has developed a website or two, but clearly hasn't developed sites all that long to understand why the web does what it does.  Having developed literally THOUSANDS of websites over the past 15 years for companies ranging from Microsft and the US Air Force to many, many small business websites, I can agree with most of your statements, but lets make an attempt to clear up two points that really matter here:

table tag -- You're making quite a <b>bold</b> statement here declaring the developers of hundreds of millions of websites wrong for using the table tag.  We'll just start then by first saying tables are NOT the most misused tag of all time.  And bogging down page size has never really been an issue (hence the point of HTML), as most of america has upgraded to some sort of broadband... tables never bogged down narrowband anyhow so your point there is moot.

http://www.w3.org/TR/html4/struct/tables.html&
Looks like you drew your conclusion from the last paragraph of the introduction, which also states that you should not use tables as the ONLY means... it never said not at all.  The reason tables have been used and are still widely used today is simply for the fact they work... on EVERY browser (this quote cracks me up "Now that CSS has been refined and is compatible with all browsers"... really?  Show me CSS support on older browsers), and developing for a broad clientele for every browser is far more important than using a styled DIV (oh suddenly the days of good ol' Netscape Navigator come to mind... which parts of the government STILL use today on NT4 networks!).  Sure, this website's demographic may be able to get away with it, but most certainly not most international demographics or those sites who cater to selling products to people who bought computers 10 years ago and their computers continue to work fine for them (I know it's sad, but it's true).  I love CSS and code with it daily, but lets apply our dear CSS on DIVs in IE6 which I hate to say, but a large portion of the world still uses.  Bear in mind our beloved CSS3 is still in its infancy and is yet to even be fully compliant on every browser.  Tables are not misused, they're critical!  An experienced web developer knows this.

b, i and u tags -- your comments here are hilarious and clearly <u>underline</u> your lack of experience in the field (let me harass you just a little :P).  These tags are important for search engines that crawl the web such as Google, Yahoo and MSN.  Sure, once you have an established PageRank and you're in the search engine systems it's safe to gradually remove these elements, but on a new site... again, they're critical!  Anyone who understands SEO will know this.

Yes, stylesheets are wonderful, but this is a classic case where looks aren't everything.  There is an effective balance of design and code for every project, but that's up to a skilled developer to find.  I wrote articles like this blindly in 2003 for a large e-commerce platform, but later learned that the cutting edge doesn't cater to everyone.  Get some more development time under your belt and you'll learn as well.  Best of luck to you.

Login or register to post comments
avatarWhy use <strong> instead of <b>?

"The <b> and <i> tags should never be used solely for the purpose of stylizing text and especially not for headers."

 

That's silly. The <b> and <i> tags don't functionally do anything _except_ stylize text and in every web browser on the planet can be used interchangibly with the much-longer-to-type-out "correct" tags. Arguing differently is just sophistry.

 

Look, CSS just isn't the answer to every web design problem. Different browsers behave very differently with the same markup. That means that the "correct" way to do things often results in unexpected behavior. It's ludicrous that a tutorial is needed to make a page that has a three column layout with CSS when the same thing is trivial to accomplish with tables.

 

Lastly, you should validate your own CSS before writing an article about what a wonderful panacea CSS is.

 

http://jigsaw.w3.org/css-validator/validator?uri=maximumpc.com&profile=css21&usermedium=all&warning=1&lang=en

Login or register to post comments
avatar<strong> and <em> have a purpose

While you are correct that visually <b> and <strong> are the same thing, the <strong> and <em> tags should be used in order to make your web site more accessible to people that rely on screen readers for their web surfing. Bolding or italicising text are generally used to put emphasis on a word or phrase or some other part of your text. Most screen readers will ignore <b> or <i> tags, but will emphasize anything in a <strong> or <em> tag. This way you are able to get your point across verbally through a screen reader as well as visually through the browser.

And in my opinion (as a web designer) <u> should never be used. It's just tacky.

Cheers!

Login or register to post comments
avatarSo let me get this straight ...

I make no claim to actually know anything about html coding, but I deal with far more arcane matters on a daily basis so I have to ask - what does <strong> do other than bold the text and make it more accessable to screen readers?  Because if it is nothing else then why not make screen readers treat <b> like it does <strong>?

 Just because its old doesn't make it bad.  Like I said I know nothing about html, so if there is more to the story I would like to hear it.

Thanks,

Skip

Login or register to post comments
avatarbah! Bah i say, Frames far

bah! Bah i say, Frames far excede CSS, you want to maintain 1, OnE, UNO, menu not have to track it across 22 pages...but the pros like me

 

use

 

<include> and some light PHP 

Login or register to post comments
avatarBrowser Compatibility

Hey, since you are a pro, maybe you can help me out.  I am making a website and I recently found out that that not everything is where it is supposed to be when I view it in Internet Explorer.  Where can I find a script that checks the browser and then sends it to a new webpage if it is not compaible?  I have viewed my site in IE, FireFox, Safari, and Google Chrome; all work fine except IE.

Login or register to post comments
avatarYou need JavaScript

With a simple JavaScript, you can detect the browser used and bounce to another page.

codepath

Login or register to post comments
avataryou neeed the special IE

you neeed the special IE only version of HTML...

 

No joke, IE renders the web in its own way, ignoring Web 2.0 Standard for IE Standard.

Login or register to post comments
avatarwow

I just can't resist this. "pros like me" my ass! The topic is about HTML not PHP. If you don't have access to PHP, then what "pros like you" do?

 

Regarding <b> and <i> - I don't get it. We should use <strong> because some stupid readers ignore <b>?

oh gee do I need remind you the mess Microsoft created with it's IE not following HTML standarts and 90% websites were designed for it?

I just don't get the point in replacing already existing tags with identical new ones (talking about the standarts)...IMHO it's just idiotically stupid.

Login or register to post comments
avatarwhich is why i said frames

which is why i said frames are the prefered method for one menu you update once if using pure HTML.

 

BUT PHP is the better method in a general sense

 

LEARN TO READ 

Login or register to post comments
avatarTales as design elements

I disagree with your assessment of tables.  Tables can be used much more effectively and efficiently than div's when creating certain types of pages.  If you are creating a column oriented site, with left right and center columns, the table is simpler than floating div's all over the place. Tables are rendered much more consistantly across browsers than divs, although this is improving greatly in the latest round of browsers.

Login or register to post comments
avatarGuilty!

I'm SOOOO guilty of the Table and <b> and <i> and font tags. Never liked frames, never used imagemaps. Frankly, I don't agree that just because a particular tag wasn't meant to be used a certain way, don't mean we shouldn't use it that way. Lots of stuff gets used in ways other than it was intended!

Login or register to post comments
avatarInteresting

As one new to the web world, it's nice to have things like this around for me to figure stuff out. I use the <b> and <i> tags from time to time, along with <u>. I also use tables to organize things on a page. I dealt with one frameset, and it was awkward...and even wonkier to look at the source. I <3 CSS sheets though..they make life simpler. 

I don't like Microsoft, I associate with it.

Login or register to post comments
This Month's Issue
FEATURE Windows XP/Vista/7 Tips!FEATURE Monitor Roundup: 7 LCDs ReviewedHOW TOMaster PhotoshopFEATUREAMD's Awesome New GPUWHITE PAPEROrganic LEDs