Jump to content

Why do HTML tags deprecate?


epp_b

Recommended Posts

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?

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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
Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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?
Link to comment
Share on other sites

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
Link to comment
Share on other sites

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
Link to comment
Share on other sites

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.

Link to comment
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
Link to comment
Share on other sites

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!
Link to comment
Share on other sites

  • 3 weeks later...

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?
Link to comment
Share on other sites

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.
Link to comment
Share on other sites

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.
Link to comment
Share on other sites

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
Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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: )

Link to comment
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.

Link to comment
Share on other sites

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. :)
Link to comment
Share on other sites

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.
Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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:
Link to comment
Share on other sites

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!

Link to comment
Share on other sites

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?

Link to comment
Share on other sites

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".
Link to comment
Share on other sites

Still no "real" answer :rolleyes:Why can't we just implement new options and keep the old ones available forever??
Because the deprecated tags are formatting tags and not structural. The whole point of XML is to separate the style from the content and you can't do that if your markup language allows something as simple as the <font> tag, to use an example. Font is meaningless in the structure of a document. It does not convey a document's structure like say a heading, paragraph, blockquote, list, etc. Things like font, center, layer, and bold are not grammatical, logical or structural with respect to what a document is (I suppose this is an ontological point, but...) only how it should be displayed. In other words they are formatting constructs. XHTML is a structural markup language and you can't allow formatting tags in the markup language because then it is no longer a markup language. HTML was a badly implemented design from the beginning and XHTML aims to correct that.I would ask the question, "why should a user agent have to parse formatting markup tags?" It should not. As long as the user agent knows how to implement stylesheets, XLST or some other future form of formatting, then it has done its job.To put it another way, everyone knows what a paragraph is, does, and how it should be displayed. Ask two different designers how bold should be displayed and they probably wouldn't agree. Should it be a light bolding or should it be a heavy, thick bolding? Or how about something in-between? See the problem? Formatting is arbitrary. So is font choice. So is font size and font colour. But it doesn't make the content any less or more important. The content exists independent of the formatting. But take away the paragraphs, the headings and blockquotes you will see that the content loses all meaning because it has lost its structure. Where does a heading start and end? When is a paragraph distinct from a bullet list? Without those structural tags you can't tell. What I've just described is web design history from 1995 to 2000. Just because you can markup a heading without the heading tag by using a large font size and bolding it doesn't mean it's a heading. It's just a large, bolded section of text. Edited by Peachy
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...