Jump to content
Sign in to follow this  
epp_b

Why do HTML tags deprecate?

Recommended Posts

epp_b

This question is more or less aimed at Peachy, as I've noticed he tends to have some in-depth knowledge of keeping up with web standards.Anyway, all this talk about standards in the thread entitled Firefox CPU and RAM usage (which has somewhat humorously gone off-topic) struck an interesting question in my mind...Why do HTML tags depreciate? Just because something more featured comes along (eg.: using <div style="text-align:center">hello world</div> instead of <center>hello world</center>), why is the "depreciated" element suddenly become shunned? Is there something wrong with that tag? What's so bad about having two, three, or more different ways of doing something? Why not use <center>text</center> instead of chalking up more bytes with the alternative CSS method in this example?

Share this post


Link to post
Share on other sites
Peachy

You mean deprecated! :) They're probably no longer appreciated, either. When a tag is deprecated from the XHTML standard it means that in future it should not be supported by any browser in the future because it will eventually disappear from a further revision of the standard tag set. Why should certain elements become deprecated? Basically, the W3C is trying to streamline the element set. The goal is to remove elements that are not structural in nature. These are predominantly the elements invented, first by Netscape, and then by Microsoft, during the heyday of the Browser War of 1997-98. These deprecated elements were invented for formatting reasons because CSS was not mature enough to handle presentation chores.The goal of web standards design is to remove formatting or presentational elements from HTML pages in favour of CSS. The type of elements that remain will be purely structural. Why is this important? Since HTML is a subset of SGML it was decided that when HTML was re-standardised into XHTML it should be strict about creating elements. So a lot of this work is constrained by the fact that creating an XML syntax dictates that elements have certain properties and parameters that they must respect to be considered a proper XHTML element.So, perhaps a concrete example to illustrate. The design goal of XHTML is to markup the content with structural elements that define a logical construct. When we think about a page or document contained in a book in the real world we know that it consists of things like letters, words, sentences, paragraphs, headings, chapters, etc. These are the structural parts of the book, page or document. Notice that it doesn't specify how these things are formatted or presented to us visually. That's because properties like font family, style (bold and italic), point size, leading, colour, justification, etc are meaningless in a structural sense. In other words, we don't compose book with fonts and the colour red, but with words and paragraphs.Why is this a good thing? There are a number of good reasons not the least is portability, the ability of displaying your content in a variety of media without losing it in translation. If the content is structured properly you would never have to change it, with the exception of updates, when doing a visual redesign.

Share this post


Link to post
Share on other sites
epp_b
You mean deprecated!
Yes, I did. I don't know I chalked up those two words to mean the same thing :rolleyes:As for your response: yes, I completely understand why one would build their layout entirely in CSS. However, that didn't quite answer my question. Why do these former tags need to be removed? So Bob may want to build his layout in CSS. Joe may want to use tables. Great, so they can agree to disagree, but there's nothing "wrong" with either way. Why can't they just add CSS without removing the original tags? Edited by epp_b

Share this post


Link to post
Share on other sites
Jeber

I've always thought that when anything was removed from a standard, it only meant that no longer could you claim to be "standards compliant" any longer. Browsers would still understand your commands, at least for a while yet, but a better way of doing that same function is available, being widely used and is now the standard.I could be wrong. I'm not a programmer; I'm sane. But I did have to learn the basic of programming, including FORTRAN and COBOL. I've forgotten nearly everything.But programming is a language, and languages change and adapt. Sometimes toward the artistic and beautiful, usually not.

Share this post


Link to post
Share on other sites
Peachy

The whole notion of structural versus presentational elements. The presentational elements are redundant because there is a CSS property to do the same job. It's not a strict policy; if you want to mix and match, go ahead. It just won't validate. If a page doesn't validate, the CSS police won't knock on your door, but if you leave it in and future browsers ignore the deprecated tag, you may see a display glitch.

Share this post


Link to post
Share on other sites
epp_b
I'm not a programmer; I'm sane.
LOL! :) I'm adding a variant of that to my sig!
but if you leave it in and future browsers ignore the deprecated tag, you may see a display glitch.
See, I don't understand why they have to eventually remove those tags. They still work, why fix what isn't broke?

Share this post


Link to post
Share on other sites
Peachy

One more time: structural versus presentational elements. There is no need to have a presentational <center> tag because CSS can be used for that. Whereas it is quite important to have a <h1> tag. The <center> tag is meaningless in the logical make-up of the document whereas the <h1> is a necessity. Close your eyes and imagine someone reading the content of a web page to you including the markup:

<h1>All about Web Development</h1><p>Web design is all about...</p>
"...heading, level 1, All about web development, end heading; paragraph, Web design is all about..."as compared to this:
<center><bold>All about Web Development</bold></center><font="Verdana" size="14px">Web design is all about...</font>
"...center, bold, All about web development, end bold, end center; font Verdana, size 14 pixels, Web design is all about..." Edited by Peachy

Share this post


Link to post
Share on other sites
epp_b

OK, I understand the "strucutural vs. elemental" argument you have. What I don't understand is why it can't be accepted both ways. Neither is better than the other, just different.

Close your eyes and imagine someone reading the content of a web page to you including the markup...
Good thing people don't actually do that. If they did, I would almost think it makes more sense to use the original markup (second example you have) so that they wouldn't have to constantly refer back to a complex stylesheet for formatting information. Edited by Peachy

Share this post


Link to post
Share on other sites
Peachy

People do this; it's called a screen reader and the most popular one is called JAWS. It is designed for blind people. And the second example is not accessible. with the first one, it makes sense, and the reader doesn't get bogged down in the CSS because the CSS is not in the HTML. In other words, there is no formatting information to muddle up the content. Whereas in the second example the screen reader would gladly announce each and every font tag, size change, centring and bolding, which is irrelevant to the listener because he or she can't see it! So why would they care that the header is centred or bolded. All they really care to know that it is a header. Another example is the use of <em> versus <i>. Visually the browser will italicize both elements. But to a blind person that's totally irrelevant. But what if you want certain words to be emphasized as opposed to italicized? By emphasis I mean a grammatical emphasis.

Share this post


Link to post
Share on other sites
Temmu

wow, peachy, finally hit me ~why~ css / html is split. thanks!epp_b - :hmm: new signature!

Share this post


Link to post
Share on other sites
Guest LilBambi

Yes, thinking of it as a book works well in many respects.You have a transcript (text broken out into prologue, paragraphs, chapters, epilogue or however you want it) ... it's basically text with basic structure (i.e.,

, etc.).Then you take that same transcript broken out as noted above, and create hardbound books, paperback books, ebooks, braille, whatever. The text with basic structure remains the same across the various print (hard) and/or digital (soft) mediums.Although, there will be little differences between the basic structure for hardbound books, paperbacks, ebooks, braille, there may very likely be many differences such in formatting such as the bold type, italic, leading between lines and paragraphs, reverse text, underscore, strikethrough, colors, etc. The CSS if you will.It just makes it easier to port to different hard and soft mediums.Same thing with webpages/sites.It really is about streamlining and making it easier for porting to different mediums. And as noted elsewhere :hmm: accessibility and make it cross platform friendly too.If you learn to use CSS to its full advantage or even just for some things now, it will make development life for the future much easier.Desktop and laptop browsers may or may not survive the test of time as we want to take our technology with us wherever we go ... but CSS can, and if you code your pages in this way, since many folks are making moves to other ways of accessing websites/content, your pages will still make sense to these new devices/mediums.So sure, for now it may not matter a lot while Desktops/laptops are the main way of accessing websites, but it makes a lot of sense to deprecate what doesn't port well over time....giving time for developers to adjust along the way.BTW: Have you ever looked at a webpage on the different size screens of cellular phones or PDAs, or to a very minimal degree, even on different resolutions on desktops or laptops?I really think this is a very important change to make over time.BTW: epp_b I adjusted the topic title for you.

Edited by LilBambi

Share this post


Link to post
Share on other sites
Temmu

unfortunately, improvements cause program bloat when the old must still be supported, so deprication occurs, to clean out the old.when 32 bit os's came out, they suffered badly from dos support (and still kinda do, but our processors are so fast now...)if there'd been a clean break, wow, how quick things would be.it'll be that way with the 64bit processors too...it's a shame we all don't have the $$$'s to upgrade pc, os, and software, all at once! :w00t:

Share this post


Link to post
Share on other sites
epp_b
People do this; it's called a screen reader and the most popular one is called JAWS. It is designed for blind people. And the second example is not accessible. with the first one, it makes sense, and the reader doesn't get bogged down in the CSS because the CSS is not in the HTML. In other words, there is no formatting information to muddle up the content. Whereas in the second example the screen reader would gladly announce each and every font tag, size change, centring and bolding, which is irrelevant to the listener because he or she can't see it! So why would they care that the header is centred or bolded. All they really care to know that it is a header. Another example is the use of <em> versus <i>. Visually the browser will italicize both elements. But to a blind person that's totally irrelevant. But what if you want certain words to be emphasized as opposed to italicized? By emphasis I mean a grammatical emphasis.
If accessibility is your argument, then I say it's up to the screen reader application to be sophsticated to know what to do with different tags. Browsers do, there's no reason screen readers shouldn't be able to.
it's a shame we all don't have the $$$'s to upgrade pc, os, and software, all at once!
Ah yes, the concept of Installed Base!
BTW: epp_b I adjusted the topic title for you.
Thanks!

Share this post


Link to post
Share on other sites
Neil P

Try using a text based browser. Lynx, for example. You'll see right away why accessibility matters! Visit most websites in Lynx, and I bet you'll see a bunch of tags. What do those images say? No idea, because the author didn't use the alt attribute properly. Maybe you'll see "look at this funny picture", where the author captioned an image with the alt attribute, instead of describing it.It is most definitely not up to the browser/screen reader to determine what to do on its own. In fact, I'd say that most of the problem comes from that! The standards are there to tell a user agent what to do/what not to do.Okay. Let's go back a minute. My idea of "Why standards exist": Standards exist so that an author of a webpage can write a document and publish it, and know that no matter how a user visits his site, it will display as intended. Or, if not as intended, than at least as "accessible". The standards say what an h1 is supposed to do, what a table is supposed to do, etc. If it were left up to each vendor to decide what an h1 does, then no two browsers would display a page alike.So why deprecate tags? They're deprecated and not flat out dropped so that older pages remain viewable. From the w3c:

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. User agents should continue to support deprecated elements for reasons of backward compatibility.
Once an element is deprecated, it will probably be obsoleted in the following version (i.e., deprecated in version b, obsoleted in version c). The deprecation allows for the older elements to still work, but not be preferred. Instead of just dropping support instantly, the deprecation gives authors a chance to learn the new methods without forcing them to do it right away.Again, why not just keep them around forever, but prefer the newer methods? I don't know. My guess is this: once a new method exists, the w3c really wants people to use it. If they just keep the old ways around forever, then what is the incentive to update?

Share this post


Link to post
Share on other sites
epp_b

As long as Microsoft exists, W3C won't get their way.

Share this post


Link to post
Share on other sites
Neil P
As long as Microsoft exists, W3C won't get their way.
This is honestly what I still don't get. Microsoft helps to form the standards. It would be understandable (well, I'd still wonder why the weren't involved with the w3c, I suppose) if they didn't participate and then did their own thing...but they help make the standards and then blatantly ignore them. Seems rather...foolish to me.

Share this post


Link to post
Share on other sites
Ed_P
If accessibility is your argument, then I say it's up to the screen reader application to be sophsticated to know what to do with different tags. Browsers do, there's no reason screen readers shouldn't be able to.Ah yes, the concept of Installed Base!Thanks!
I totally agree. If screen readers and Lynx can't handle them that's their shorcoming not the tag's. Notepad shows the tags also, I guess that should be a reason to eliminate them also. The 'net came about and grew because it was easy to use and learn. Replacing easy to learn and use webpage tags with convoluted standards that require utilities, or degrees, to use will kill the development for all but a few. Sounds like big business is taking over the 'net.

Share this post


Link to post
Share on other sites
Neil P
If screen readers and Lynx can't handle them that's their shorcoming not the tag's. Notepad shows the tags also, I guess that should be a reason to eliminate them also.
It's not so much that Lynx or a screen reader can't handle the tags, but more that they're being used improperly. If they're used correctly, Lynx and/or screen readers should have no problem viewing the web.Accessiblity is the law, at least for Federal agency-run sites. Furthermore, the w3c has published the Web Content Accessibility Guidelines.See Also:http://webstandards.org/about/ - The Web Standards Project

Share this post


Link to post
Share on other sites
Peachy

EdP,The W3C is not big business. In fact it is a volunteer organisation made up of software engineers from academia, industry, and the general public. The whole point of accessibility is that if you code in a standard set of tags, then any browser/user agent should be able to display it as long as the software developer follows the standard. The reason this is desirable is that we don't want to repeat the Browser Wars that saw Microsoft and Netscape adding incompatible tags for the other company's browser. It's really not difficult to create a standards-compliant browser; they exist already.If people are interesting in learning more about this rationale, they should start by reading the articles publised by the Web Standards Project.

Share this post


Link to post
Share on other sites
Ed_P

Do you really think the mom & pop business is pushing for newer more complicated standards? The home website builder? College students?No, it's the people that have websites consisting of hundreds of webpages and whose marketing departments want the websites to look exactly like the glossies they've printed that are pushing for the new standards. That is big business and they are the ones pushing the standards.

Share this post


Link to post
Share on other sites
Peachy

Ed, I would beg to differ. The people pushing the standards are the web designers. They are fed up with having to code hundreds of table-laced layouts. They are the ones campaigning big business to get on board and have slowly made some progress. The majority of big businesses still hire web designers who are resistant to standards and CSS. I teach a night school class for web design at an intermediate level and the feedback from my students tells me that they prefer CSS to table layouts. Our College students who take the Web Developer Program here at work are taught web standards and CSS from the get-go. Even the programming students who take our ColdFusion course are taught it in the first week of class. The other thing is, HTML 4.01 is inconsistent, whereas XHTML is very consistent. I prefer knowing that all tags should be lower-cased and closed than having the attitude that, well it can be upper or lowercase depending on your mood, and closing tags are just an afterthought. Which makes more sense? There are many free web editors that can create standards-compliant XHTML code so there is no excuse to say we don't have the software tools up to the task. And I'm sure the mom-and-pop people would thank you forever when you show them how to create a web page using XHTML/CSS that will make their life easier (well, maybe not their lives, but they won't be wasting their time editing FONT tags! :wacko: )

Share this post


Link to post
Share on other sites
Guest LilBambi

It really is ANYONE who wants their webpages to be viewable in a format compatible with xhtml ... meaning for any platform!That means webpages can be viewed without breaking and/or excessive scrolling in PDAs, Cellphones, etc. that allow browsing of web sites, right on up to PCs and notebooks.Have you ever tried to view a website on a PDA and/or Cellphone, even something like a Sidekick or other larger screen cellphone? Viewing table based layout sites is a disaster.Coding to these standards is becoming very important because PCs and notebooks are only two out of many ways to view the WWW these days....and will only be more so as time goes on.

Share this post


Link to post
Share on other sites
Temmu
...using XHTML/CSS that will make their life easier (well, maybe not their lives, but they won't be wasting their time editing FONT tags! :lol: )
no! no! i want xhtml to make my ~life~ easier. i'll start with caviar on the beach at sunset... B)

Share this post


Link to post
Share on other sites
Tushman
no! no! i want xhtml to make my ~life~ easier. i'll start with caviar on the beach at sunset... :)
After reading this thread, I do feel a little underappreciated. :)

Share this post


Link to post
Share on other sites
Ed_P

If the web design firms (ie $$ companies working for $$$$ companies) are

fed up having to code hundred of table laced layouts
they should use some of the
many free web editors that can create standards-compliant XHTML code so there is no excuse to say we don't have the software tools up to the task.
I'm not against XHTML coding nor am I against standards. What I am opposed to is the dropping of support for the original HTML tags. If a new device comes a long that can't support the original standards, fine. That's a short coming of the new device and if people still use it that's fine also. But forcing people to go back and change all their webpages so some new toy can display XHTML is absurb.I don't work for a web design firm but I do create webpages and I while I have used Publisher and Word and Front Page (yuck) I do most of my coding using a text editor. And coding XHTML in a text editor is a pita.

Share this post


Link to post
Share on other sites
Peachy
I don't work for a web design firm but I do create webpages and I while I have used Publisher and Word and Front Page (yuck) I do most of my coding using a text editor. And coding XHTML in a text editor is a pita.
:) You're kidding, right? Coding HTML in a text editor would be just as painful. What advantage does HTML have over XHTML other than that many web designers learned the former first? There's nothing wrong with using standards-compliant HTML since there is a DOCTYPE for such a thing. What designers in the XHTML/CSS camp are pushing for is to separate the style from the content. For example, stop using the font tag to change the appearance of your letters. Why, you say. It does what I need it to. Fine. but in think about how many font tags you have to edit if you decided that Times New Roman is passé and Verdana was this year's black. Here's another way to make my point. Suppose you have some HTML marked up like so:
<font size=â€7†color=â€red†face=â€Verdanaâ€>A Large Red Heading</font><br /><br /><font size="5" color="black" face="Times New Roman">Lorem ipsum dolor sit amet, consectetuer adipiscing elit. In vel metus eu justo aliquet laoreet. Sed odio lacus, commodo id, luctus vitae, gravida hendrerit, nulla. Duis pede urna, vehicula et, ullamcorper vel, auctor ac, lorem.<br /><br />Sed eros nibh, aliquet sed, tincidunt non, vehicula sit amet, metus. Vivamus est lacus, sodales sed, dictum id, ornare at, velit. Fusce malesuada lectus at augue. Pellentesque malesuada lorem viverra ante.</font>

Now imagine you have about 10 paragraphs of this on 10 pages. Your boss, your client, or perhaps you in pique of devil may-care decide that your paragraph text should be a paler shade of blue. Sure go ahead and change "black" to "blue". And do it again 99 more times.Now, suppose I markup the same pages in cleaner, XHTML code:

<h1>A Large Red Heading</h1><p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. In vel metus eu justo aliquet laoreet. Sed odio lacus, commodo id, luctus vitae, gravida hendrerit, nulla. Duis pede urna, vehicula et, ullamcorper vel, auctor ac, lorem.</p><p>Sed eros nibh, aliquet sed, tincidunt non, vehicula sit amet, metus. Vivamus est lacus, sodales sed, dictum id, ornare at, velit. Fusce malesuada lectus at augue. Pellentesque malesuada lorem viverra ante.</p>

None of my formatting is directly in the code. It's contained within an external stylesheet linked to the page and similiarly to the other nine pages. I have rule in the stylesheet for the paragraph element, the <p></p> tag, that looks like this:

p {font : 12px/1.5em "Times New Roman"; color : black; }

I could then make the edit in this single stylesheet to change the "black" to a "blue" and all 10 pages will be styled accordingly. Quick, easy, and painless.So, which tags are deprecated? Pretty much anything that has to do with styling because they can easily be replaced with an equivalent CSS rule. <FONT>? The CSS <b>font</b> property. <CENTER>? The CSS <b>text-align</b> property.

Share this post


Link to post
Share on other sites
Ed_P
Here's another way to make my point. Suppose you have some HTML marked up like so:
<font size=â€7†color=â€red†face=â€Verdanaâ€>A Large Red Heading</font><br /><br /><font size="5" color="black" face="Times New Roman">Lorem ipsum dolor sit amet, consectetuer adipiscing elit. In vel metus eu justo aliquet laoreet. Sed odio lacus, commodo id, luctus vitae, gravida hendrerit, nulla. Duis pede urna, vehicula et, ullamcorper vel, auctor ac, lorem.<br /><br />Sed eros nibh, aliquet sed, tincidunt non, vehicula sit amet, metus. Vivamus est lacus, sodales sed, dictum id, ornare at, velit. Fusce malesuada lectus at augue. Pellentesque malesuada lorem viverra ante.</font>

Now imagine you have about 10 paragraphs of this on 10 pages. Your boss, your client, or perhaps you in pique of devil may-care decide that your paragraph text should be a paler shade of blue. Sure go ahead and change "black" to "blue". And do it again 99 more times.

Notepad_Rep_All.JPG"software engineers from academia" :thumbsup:

Share this post


Link to post
Share on other sites
Peachy

Yeah, but, you still have nine other pages to do the "Replace All" on. CSS is still more efficient. I've done the Notepad thing and if you do enough of this you will realize that editing a single CSS file will let you keep your hair on your head!

Share this post


Link to post
Share on other sites
epp_b

EdP and Peachy, I see both your points. EdP says "why bother with all that when we have software that gives us this ability anyway?". Peachy says "Why should we use programs that create a work-around for it when it can work inherently?".(oh, and for the record, Peachy, most of us have moved on to applications slightly more robust than Windows Notepad :thumbsup:)Ironically, none of this answers my initial question. I have absolutely nothing against CSS or "old school" HTML as it were. I think they're both great tools.My question was: why can new methods not be implemented without eventually removing the "old" methods?

Share this post


Link to post
Share on other sites
Neil P
What I am opposed to is the dropping of support for the original HTML tags. If a new device comes a long that can't support the original standards, fine. That's a short coming of the new device and if people still use it that's fine also. But forcing people to go back and change all their webpages so some new toy can display XHTML is absurb.
That's why the tags get deprecated first, instead of just dropping support when the new version comes out. It gives designers a heads up to change their ways--meanwhile, the old tags still work. What browser do you know that doesn't support <font>? Internet Explorer's failure to use CSS properly is probably the single reason we're debating this in 2006 and not 1999. CSS never worked in the popular browser, so what incentive did people have to use it? Now that standards compliant browsers are emerging, it makes more sense to use them.I doubt anyone will drop support for those elements for quite a while.As for why they need to be deprecated at all, I think it comes down to promoting the newer standards. Elements get deprecated for backwards compatibility, but doing so puts them "on notice".

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×
×
  • Create New...