Newsletter "Behind the Scenes" Newsletter

May 2012The monthly newsletter by Felgall Pty Ltd

My Word

Deprecated Attributes

There seem to be lots of people who don't understand what deprecated means. A number of HTML 3.2 attributes including all those attributes that relate to how the page will appear (such as bgcolor and align) were deprecated in HTML 4 (which was introduced in 1997). Replacement ways to provide all of the same appearance and more was made available through CSS.

The changes between the old HTML 3.2 way of creating web pages and the HTML 4 way were so different that it was expected that it would take some time for existing web sites to convert over from the one to the other and so a transitional doctype was defined that would allow for web pages that implemented the new HTML 4 features while still not having completely removed the deprecated HTML 3.2 features.

Unfortunately, while most web sites switched from the HTML 3.2 doctype (or no doctype at all) to the HTML 4 transitional doctype, many of those sites have not made any effort to actually get rid of the HTML 3.2 code from their page which the transitional doctype allows but which HTML 4 does not. The reason for this is probably due to the fact that few people appear to understand what deprecated means.

So many sites still use the deprecated HTML 3.2 tags and attributes that one half of the meaning of deprecated cannot now be implemented in HTML 5. Those tags and attributes deprecated in HTML 4 are supposed to have been completely removed from HTML 5 and support for them dropped from browsers. That over 90% of web sites still use HTML 3.2 even fifteen years and more after it was replaced by HTML 4 means that those working on the draft for HTML 5 have had no choice but to disregard half the meaning of deprecated and are allowing browsers to continue to support the HTML 3.2 tags and attributes.

With support being retained beyond the version in which those tags and attributes were flagged as deprecated the tags and attributes are in effect no longer deprecated in HTML 4. Instead only the other half of the meaning of deprecated is being retained. So those tags and attributes are now merely obsolete since 1997 and will continue to exist indefinitely as obsolete and unnecessary tags and attributes indefinitely instead of being deprecated.

The problem is that while programmers understand what deprecated means most of the people creating web pages do not. Programmers realise that once something has been deprecated that you must stop using it immediately and work on replacing those places where you have previously used it because it is currently considered to be obsolete and in this version of the language and will be gone completely from the next version of the language. Those creating web pages are still creating new pages using tags and attributes that were supposed to be replaced between 1998 and 2005 in new web pages that they are writing now.

Part of the problem is that many people creating web pages don't actually learn HTML properly. They either use programs to generate the HTML for them and don't have them configured correctly to produce HTML 4 output rather than HTML 3.2 or if they write the HTML themselves they have learnt what they think is HTML from looking at other web pages that don't do things properly.

The thing is that once you have a web site that uses HTML 3.2 it is much harder to maintain than one written using HTML 4 (that's one of the reasons for the change in how things should be done). With a large web site it can actually take a long time to actually go through all of the many web pages transitioning the site to use HTML 4. That's why at the time of writing this site first created in 2000 when many web browsers still didn't properly support HTML 4 still uses a transitional doctype - while I have revisited all the pages several times to clean out the obsolete HTML 3.2 tags and attributes, I still haven't been able to confirm that they have all been replaced. I'm getting close now though so the next time I make changes across the entire site I will probably update the doctype from transitional to strict. Converting the thousands of pages to replace the obsolete code has taken me a huge amount of time so once it is finally over I will have lots more time to spend on creating new content and keeping the old content up to date because I will not need to keep going through all the pages to make changes to the HTML just because I want to change the way the pages look.

Those people still using HTML 3.2 to create new sites now are simply creating a lot of work for themselves for the future to maintain the site. The first time I switched the navigation to a different spot in the web page it took me perhaps 25 hours to make the change and at that point the site only had a few hundred pages because the HTML in each page had to be updated separately. The last time I made a change like that it took about two minutes because all that I needed to update was a single CSS file that was already linked into all 2000 plus pages.

There were a lot of good reasons back in 1997 why certain tags and attributes were deprecated and those reasons still apply now. That HTML 5 isn't going to actually remove support for these tags and attributes doesn't mean that they are now appropriate to use.
 

On Site

A massive 22 pages of content this last month with half of them - marked with (*) - being brand new pages. I have progressed through a lot of the maller pages of the site adding additional information to perhaps a third of the pages I have looked at as well as fixing any typos I spotted on the others (but those aren't included in the updated pages listed). For the next month or two at least I intend to continue updating more of the shorter pages and also creating newer more modern less obtrusive versions of some of my scripts for you to use.
 

What's New

The following links will take you to all of the various pages that have been added to the site or undergone major changes in the last month.

Main Links

Ask Felgall
Past Newsletters
Sign Up/Unsubscribe
Question Forum

Categories

Browsers
HTML
Javascript
Interactive Web
Mainframe
PC Software
Networking
Comms Software
Word Processing
DTP
Graphics
OS/2
Linux
DOS/Windows
NT/2000/XP
Book Reviews
Links

Other Links

My Javascript Site
My Blog

http://www.felgall.com/