WebAIM - Web Accessibility In Mind

E-mail List Archives

Re: fieldset for radio buttons


From: Jukka K. Korpela
Date: May 23, 2003 10:17AM

On Thu, 22 May 2003, Big John wrote:

> I don't know how much more accessible the form is with <legend>
> and <fieldset>, but you can make <legend> 'display: none'. That
> would remove it from the display, but it would still be there
> for non-visual user agents. I don't believe you can do the same
> for <fieldset>, because all its contents would go with it.

If you set display: none, then there is no way to turn this off inside the
element, i.e. all descendants have display: none too. This is often
frustrating, but that's what the specifications say.

But you can use
fieldset { border: none; }
which removes the borders that borders typically draw around a fieldset,
as the only visible effect of that markup. Combining this with
legend { display: none; }
would let you use structural fieldset markup without any visible effects
on CSS-enabled browsers.

On the other hand, speech browsers may well take their input from
a styled version of page, thus potentially losing the information
that was inserted for accessibility. When using CSS, you should
_also_ be prepared to the possibility that it actually has an effect, even
in circumstances you don't expect.

But I think that
- the fieldset and legend elements actually improve accessibility
in graphic presentation too, since they group and label
things in a useful way
- it is generally unproductive to try to squeeze forms into
tiny dimensions; either the form should be on a page, or it
should not, and if it should, it should appear there as a normal,
easy-to-use element.

Jukka "Yucca" Korpela, http://www.cs.tut.fi/~jkorpela/

To subscribe, unsubscribe, or view list archives,
visit http://www.webaim.org/discussion/