Most screen readers are clumsy, expensive, and illogical brutes – I have no love for them at all. But tables are a crude hack to provide semantic structure to a form which might otherwise only make sense to a sighted visitor. And a CSS layout is simpler and less burdened with non-informational markup than a table structure. Consider this comparison, both of which render the same (given a style rule for the label as I posted earlier in this thread):
<ol class="form">
<li>
<label for="name">Name</label>
<input type="text" name="name" id="name"/>
</li>
<li>
<label for="email">E-mail</label>
<input type="email" name="email" id="email"/>
</li>
</ol>
Contrast that with this (and I’m adding a label formatting classname, but this could easily be much more code if you inlined the text-align: right style to each of the “label” cells):
<table border="0" cellspacing="5" cellpadding="5">
<tr>
<td class="label">
<p>Name</p>
</td>
<td>
<input type="text" name="name" id="name"/>
</td>
</tr>
<tr>
<td class="label">
<p>E-mail</p>
</td>
<td>
<input type="email" name="email" id="email"/>
</td>
</tr>
</table>
So here you have a whole lot more “furniture” surrounding the only parts of the form that really matter – the labels and their fields. And in the latter, you don’t have a true label, but rather a piece of text that only relates to the field in the context of the table – the relationship has to be inferred, rather than being made explicit through the for= relationship.
Worse than this would be if you didn’t use a table at all. Because Freeway drives its output order by stacking alone, it is perfectly possible to end up with the label and the field miles apart in the source, with nothing but the for= relationship to bind them together – and that’s only if you figure out how to create a label in Freeway 6 (not the most intuitive placement of a control I have ever seen). If you were the traditional “visual only” designer, you might be done when it looks right, yet be rejecting the needs of a whole chunk of your audience.
Semantics are not just for the eggheads, they really do make more sense in a lot of different contexts.
Walter
On Nov 17, 2013, at 9:44 AM, David Ledger wrote:
If a screen reader makes a better job of interpreting a complex CSS form page than a simple table one the the fault lies with the pedantic designer of the screen reader rather than the page designer. You can’t get much more logical than a table with form fields and titles in it.
freewaytalk mailing list
email@hidden
Update your subscriptions at:
http://freewaytalk.net/person/options