[PHP] Re: Accessible HTML - OT

2005-05-09 Thread Matthew Weier O'Phinney
* Mikey [EMAIL PROTECTED]:
 I have just come back from the client visit and one of the issues that
 arose was over the use of accessible markup, more specifically the use
 of tables versus the use of layers.
  
 Now, my long held belief was that div/layers were added to the spec so
 that designers could separate presentation markup from content - that
 is, use positioned layers for laying out content, use tables for
 tables of data as they were originally intended.  However, my client
 seemed adamant that it was the other way around and that the use of
 tables was preferred owing to browser compatibility issues.
  
 Now, I have just had a look around w3 and have found some inferences
 that support my view but nothing that states clearly in either
 direction.  Does anyone on this list have a definitive answer for this
 one?

You have it correct, theoretically, regarding accessibility. Tables
should be used for tabular data, divs for presentation and layout. 

However, many people confuse accessibility with consistency; they want a
look-and-feel that works the same no matter what the browser. (Why they
feel this is accessibility is anybody's guess, but I've seen it a number
of times). In this latter arena, on a practical level, tables are
typically your best bet.

I've done a lot of tableless and table-based layouts, and the
unfortunate fact of the matter is it's a lot easier to create a layout
that is consistent cross-browser and cross-platform using tables. Until
IE supports the CSS2 'display: table-*' elements (which is the easiest
way of creating columns of the same height), this will continue to be
the case.

Now, this does not mean you should create a bunch of nested tables for
the layout. I find that a simple skeleton made of a table with a few
columns can create the basic page layout, and then I use as much CSS as
I can within (unordered lists for navigation menus, floats to position
image/caption pairs, etc.).  This combines some of the best of both
worlds, and creates a fairly accessible page at the same time.

As in all things, it's a matter of balance.

-- 
Matthew Weier O'Phinney   | WEBSITES:
Webmaster and IT Specialist   | http://www.garden.org
National Gardening Association| http://www.kidsgardening.com
802-863-5251 x156 | http://nationalgardenmonth.org
mailto:[EMAIL PROTECTED] | http://vermontbotanical.org

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP] Re: Accessible HTML - OT

2005-05-09 Thread Mary-Anne Nayler
Nested tables are the absolute worst thing you can do! A screen reader 
is able to tab to a table and tab within a table but once you begin to 
have tables within tables, UGH! To quote accessibility guru Joe Clark; 
With nested tables, a screen reader user ends up working from within a 
maze formed by one table within another.  All you coders out there know 
how hard it is to code nested tables and how confusing it gets right? 
Imagine trying to reverse engineer this jumbled mess with nothing but 
audio to go on!

Matthew Weier O'Phinney wrote, On 10/05/05 01:59 AM:
* Mikey [EMAIL PROTECTED]:
 

I have just come back from the client visit and one of the issues that
arose was over the use of accessible markup, more specifically the use
of tables versus the use of layers.
Now, my long held belief was that div/layers were added to the spec so
that designers could separate presentation markup from content - that
is, use positioned layers for laying out content, use tables for
tables of data as they were originally intended.  However, my client
seemed adamant that it was the other way around and that the use of
tables was preferred owing to browser compatibility issues.
Now, I have just had a look around w3 and have found some inferences
that support my view but nothing that states clearly in either
direction.  Does anyone on this list have a definitive answer for this
one?
   

You have it correct, theoretically, regarding accessibility. Tables
should be used for tabular data, divs for presentation and layout. 

However, many people confuse accessibility with consistency; they want a
look-and-feel that works the same no matter what the browser. (Why they
feel this is accessibility is anybody's guess, but I've seen it a number
of times). In this latter arena, on a practical level, tables are
typically your best bet.
I've done a lot of tableless and table-based layouts, and the
unfortunate fact of the matter is it's a lot easier to create a layout
that is consistent cross-browser and cross-platform using tables. Until
IE supports the CSS2 'display: table-*' elements (which is the easiest
way of creating columns of the same height), this will continue to be
the case.
Now, this does not mean you should create a bunch of nested tables for
the layout. I find that a simple skeleton made of a table with a few
columns can create the basic page layout, and then I use as much CSS as
I can within (unordered lists for navigation menus, floats to position
image/caption pairs, etc.).  This combines some of the best of both
worlds, and creates a fairly accessible page at the same time.
As in all things, it's a matter of balance.
 

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


Re: [PHP] Re: Accessible HTML - OT

2005-05-09 Thread Matthew Weier O'Phinney
* Mary-Anne Nayler [EMAIL PROTECTED] :
 Nested tables are the absolute worst thing you can do! 

I agree -- which, if you read my post, you'll see I didn't advocate
nested tables -- just a single table for columnar layout of the page.
Within each column, items are floated or positioned using CSS.

 A screen reader is able to tab to a table and tab within a table but
 once you begin to have tables within tables, UGH! 

I use text-based browsers regularly, and, while tables can be rendered
fine in many of them, nested tables get very ugly, very fast --
especially if the terminal you use is limited to 80 characters.

 To quote accessibility guru Joe Clark; With nested tables, a screen
 reader user ends up working from within a maze formed by one table
 within another.  All you coders out there know how hard it is to code
 nested tables and how confusing it gets right?  Imagine trying to
 reverse engineer this jumbled mess with nothing but audio to go on!

Absolutely. This is the argument I use when trying to convince others to
use a standards-compliant design. But often the customer (or your boss)
will ditch this kind of accessibility for some simple cross-platform
cross-browser consistency (not realizing that the cosmetic tweaks used
to do this mean that even though the site looks good on a Mac, a Windows
machine, and some linux browsers, it reads like a complete foreign
language in audio browsers or text-based browsers). 

In the end, on a practical level, I often am not *allowed* to make a
tableless design due to the wishes of my boss or client. And,
unfortunately, I have to pay the bills so my family and I have a place
to live and food to eat, so I can't simply refuse a job based on
principle. That's pretty much all I was getting at in my first post.

 Matthew Weier O'Phinney wrote, On 10/05/05 01:59 AM:
  * Mikey [EMAIL PROTECTED] :
   I have just come back from the client visit and one of the issues
   that arose was over the use of accessible markup, more
   specifically the use of tables versus the use of layers.
   
   Now, my long held belief was that div/layers were added to the
   spec so that designers could separate presentation markup from
   content - that is, use positioned layers for laying out content,
   use tables for tables of data as they were originally intended.
   However, my client seemed adamant that it was the other way around
   and that the use of tables was preferred owing to browser
   compatibility issues.
   
   Now, I have just had a look around w3 and have found some
   inferences that support my view but nothing that states clearly in
   either direction.  Does anyone on this list have a definitive
   answer for this one?
 
  You have it correct, theoretically, regarding accessibility. Tables
  should be used for tabular data, divs for presentation and layout. 
 
  However, many people confuse accessibility with consistency; they
  want a look-and-feel that works the same no matter what the browser.
  (Why they feel this is accessibility is anybody's guess, but I've
  seen it a number of times). In this latter arena, on a practical
  level, tables are typically your best bet.
 
  I've done a lot of tableless and table-based layouts, and the
  unfortunate fact of the matter is it's a lot easier to create a
  layout that is consistent cross-browser and cross-platform using
  tables. Until IE supports the CSS2 'display: table-*' elements
  (which is the easiest way of creating columns of the same height),
  this will continue to be the case.
 
  Now, this does not mean you should create a bunch of nested tables
  for the layout. I find that a simple skeleton made of a table with a
  few columns can create the basic page layout, and then I use as much
  CSS as I can within (unordered lists for navigation menus, floats to
  position image/caption pairs, etc.).  This combines some of the best
  of both worlds, and creates a fairly accessible page at the same
  time.
 
  As in all things, it's a matter of balance.

-- 
Matthew Weier O'Phinney   | WEBSITES:
Webmaster and IT Specialist   | http://www.garden.org
National Gardening Association| http://www.kidsgardening.com
802-863-5251 x156 | http://nationalgardenmonth.org
mailto:[EMAIL PROTECTED] | http://vermontbotanical.org

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP] Re: Accessible HTML - OT

2005-05-09 Thread Manuel Lemos
Hello,
on 05/09/2005 08:24 PM Mary-Anne Nayler said the following:
Nested tables are the absolute worst thing you can do! A screen reader 
is able to tab to a table and tab within a table but once you begin to 
have tables within tables, UGH! To quote accessibility guru Joe Clark; 
With nested tables, a screen reader user ends up working from within a 
maze formed by one table within another.  All you coders out there know 
how hard it is to code nested tables and how confusing it gets right? 
Imagine trying to reverse engineer this jumbled mess with nothing but 
audio to go on!
I know that very few sites use it, but I think that is why the attribute 
tabindex exists:

http://www.w3.org/TR/html401/interact/forms.html#adef-tabindex
The way I see it there are more non-obvious reasons that preachers of 
usability without tables miss, like the fact that the alternatives that 
they suggest based on CSS/DIV/SPAN give other headaches to site 
developers that want to implement sites that look the same in different 
browsers but sometimes is almost impossible as such browsers do not 
interpret the standards the same way.

Probably because tables were introduced long before the DIV/SPAN layout 
based mania, it seems tables work more reliably and allow developers to 
assure a more consistent visual across browsers.

--
Regards,
Manuel Lemos
PHP Classes - Free ready to use OOP components written in PHP
http://www.phpclasses.org/
PHP Reviews - Reviews of PHP books and other products
http://www.phpclasses.org/reviews/
Metastorage - Data object relational mapping layer generator
http://www.meta-language.net/metastorage.html
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php