Menu
If you haven’t see the Tables2CSS tool, you should definately check it out. [url]http://www.table2css.com/
I tried the online demo for these sites:And both came out very, [i]very[/i] messed up. I don't think anyone should invest any money in this product.[/QUOTE]
Should post the issue on their forums.[/QUOTE]My concern was keeping the users here at Webdeveloper.com informed. You and anyone else interested may of course help to fix the program, but for now it simply doesn't do the job it says it will do:
I will argue that tables are faster to make vs.CSS most of the time because of dreamweaver[/QUOTE]
I tried the online demo for these sites:And both came out very, [i]very[/i] messed up.[/QUOTE]
On those pages I tried, the HTML markup was not reduced; the new pages were actually significantly larger.[/QUOTE]
The markup was not more helpful to search engines;[/QUOTE]
you need to add meaningful, semantic tags to your content for that, and no computer program can do that for you.[/QUOTE]
and as Jeff said, no program is going to be able to extract the content from nested tables and understand that content to apply the appropriate markup to start with.
[/QUOTE]
When people say "semantic tags" or "semantic markup" they usually imply that there is also some kind of non-semantic markup. Which is simply not true. All HTML markup is semantic, the semantics of HTML tags are clearly defined in the HTML specification.[/quote]Semantic means "with meaning." Tags such as H[i]n[/i], P and EM are semantic; they describe what the data is. Tags such as B and I describe what data should look like, but not what it is. (Is data italicized because it's a title? Because it's important? Because it's introducing a new word? Because a fictional character is thinking?)
When people say "semantic tags" or "semantic markup" they usually imply that there is also some kind of non-semantic markup. Which is simply not true. All HTML markup is semantic, the semantics of HTML tags are clearly defined in the HTML specification.[/QUOTE]I wonder if you're not confusing syntax with semantics.
Semantic means "with meaning." Tags such as H[i]n[/i], P and EM are semantic; they describe what the data is. Tags such as B and I describe what data should look like, but not what it is. (Is data italicized because it's a title? Because it's important? Because it's introducing a new word? Because a fictional character is thinking?)
The guideline is: If a tag describes what data is, then it's semantic; it gives the data meaning. If a tag describes what the data should look like, then it's not semantic; the computer still can't know what the data means.[/QUOTE]
However the presence of the i tags already has enough information for the human reader to imply that the text in italics is more important than the surrounding non-italicized text).[/QUOTE]That's a big assumption. Italic text is used by a lot of people simply to simulate handwriting or other purely presentational effects completely devoid of semantic meaning. In some cases they are used to indicate quotations, e.g., which is completely wrong given the presence of <q> and <blockquote>.
or other purely presentational effects completely devoid of semantic meaning[/QUOTE]
In some cases they are used to indicate quotations[/QUOTE]
By giving the example above you imply that the emphasized text (the em tag) is more meaningful than the text in italic text style (the i tag). However the presence of the i tags already has enough information for the human reader to imply that the text in italics is more important than the surrounding non-italicized text.[/quote]It's not just the human that needs to understand what the data is. The computer needs to understand too.
<p>All students <i>must</i> explain how the formula calculates <i>c</i>.</p>
Let's pretend several megabytes of web documents are marked up this way. But now the boss says, "We want more color. Can you make those emphasized words red?" We can't say [font=courier]i { color: red }[/font] because that includes other text. The only option is to go through every document to make the change.<p>All students <em>must</em> explain how the formula calculates <var>c</var>.</p>
Now you can use CSS to make all emphasized text display a certain way, or all variables display a certain way. Semantic markup lets CSS be even more versatile than it already is.Lets say there is a simple program that mechanically searches through the HTML and replaces all i tags with em tags. According to the division of tags to semantic and non-semantic, the new text should be more semantic.[/quote]Look at my first example code block again, with the <i> tags. How could a machine know whether the italics means emphasis or a variable? Or any of a dozen other uses for italics? If you figure that out, let us know.
Italics has so many different meanings that a voice synthesizer must guess how the text should be spoken. And because it's purely guesswork with lots of room for error, voice synthesizers tend to just ignore italics.
[/QUOTE]
A tag that indicates emphasis, however, is much more clear: The voice synthesizer should speak emphasized text with a stressed tone of voice.[/QUOTE]
The same is true for search engines. They don't have human eyes to see big and bold and centered. They only understand data--headings, quotations, hyperlinks, body text, etc.
[/QUOTE]
There are practical considerations for the developer as well. Consider:Let's pretend several megabytes of web documents are marked up this way. But now the boss says, "We want more color. Can you make those emphasized words red?" We can't say [font=courier]i { color: red }[/font] because that includes other text. The only option is to go through every document to make the change.
<p>All students <i>must</i> explain how the formula calculates <i>c</i>.</p>
But if we used semantic tags (and used them properly), then we would have:Now you can use CSS to make all emphasized text display a certain way, or all variables display a certain way. Semantic markup lets CSS be even more versatile than it already is.
<p>All students <em>must</em> explain how the formula calculates <var>c</var>.</p>
And these three things--accessibility to handicapped, meaningful data for search engines, and more versatile styling--is what makes CSS-based layouts with semantic markup (what some call CSS-P) so beneficial.
[/QUOTE]
Besides the problems with presentational tags as is being discussed above, there are more issues with the slice-and-dice graphics approach with the majority of table-based layouts.
Take a typical table scenario - a coloured box containing a block of text and a picture, and the text is displayed in a fancy font. This would typically be done as a graphic, and to fit the complete layout, quite often sliced into two, three, or more, graphics contained within table cells. All a conversion program, such as the one being mentioned, can do with this is to place the graphics into floated divs - what has been achieved? Sliced graphics in divs is just as bad as the original table layout - it means absolutely [B]nothing[/B] semantically - screen readers can't read it, search engines can't index it. Such a scenario should really be marked up as a simple paragraph of text, with all presentational aspects (including replacing the text with graphical text if fancy-looking fonts are required) should be the job of the css - [B]NO[/B] conversion program is going to be able to analyse and properly mark this up, and this is one of the most common problems with old table layouts.
Really, the only way of converting old table layouts to current semantic standards is to start from scratch, rewriting the [B]content[/B] using the most appropriate html elements to [I]describe[/I] that content, and [B]then[/B] apply the styling.[/QUOTE]
A '[I]semantic use[/I]' of a particular tag, -let's say "<blockquote>", belongs around the proper content, in this case, 'a long amount of block-level quoted text', -as in several sentences ,or a paragraph or more...
This is an excellent example of 'it looks good!' versus 'is this really a long block of [I]quoted[/I] text?' (An actual client's testimonial springs to mind as an excellent example of what could be considered "[I]blockquote[/I]" material..).
While visually, "blockquote" indents very prettily and looks sweet on the visual page, -a blind person whom is accessing the page using a [I]text-to-speech reader[/I] user-agent like JAWS maybe, gets 'told' that this is [I]blockquoted[/I] material. If it is NOT, then there is confusion for the blind person.. ? If used for visual-only appeal, the tag is used [U]incorrectly[/U]. What difference does this make to the average web page writer? Maybe nothing, but to a blind person reading the site, it is intellectually insulting to have material 'mis-labled'. That is the whole jist of proper use of 'semantic tags', to make the content [I]accessible[/I] & [I]understandable[/I] to [I]all[/I] (or as many as possible) user-agents by calling the content by what it really is.[/QUOTE]
Conversion of tables to divs+css is not intended to make the HTML code more semantic [/QUOTE]
0.1.9 — BETA 5.19