Greg and Steve,

I had the idea of doing something like the following:

<!-- Begin Code -->

Balance is within $<span
style="position:relative;height:1%;padding-right:3em;margin:0;padding-left:0;"></span>credit
limit<label for="balance"
style="position:absolute;text-indent:-999em">Balance is within
$</label><input id="balance"
style="width:3em;position:relative;left:-8.25em;margin-right:-3em"
name="balance" type="text" />More text here

<!-- End Code -->

Excuse the inline styling... And make sure that goes in a strict xhtml
1.0 document! or else you will go into quirks under IE.

What that basically does is this:

- Create the text which the input is to appear within.
- Where you want the input, insert a 'spacer' (in this case, a span
tag) that spaces out the text the same width that the input is
- Create a label that is visible only to screen readers. This label
should 'read right' i.e as if it is a label to an actual box
- Create your input
- Move the input back so that appears to be inside the gap made by the 'spacer'
- remove the space (with negative-right margin = to width of input)

Pros:

-Visually, it kind of gives you what you want. Using em values means
that increases of font sizes will still give the same result too.

Cons:

-We now have some extra text before/after the label/input pair, and it
makes even less sense when being read back by a screen reader (or I
would assume)
- Because the em calculations are consistant over all browsers and
font-sizes, sometimes the field overlaps the text.
- BIG PITA: You will have to calculate a lot padding and negative
margin values per input field!!!!

Unknown:
- How would this deal with big sentences going over multiple lines?
- What if text appeared in a fluid layout and the wrap occurred before
the input?

Frankly, I think you would be better off ditching the label all
together and hoping for the best with the text description mixed with
inputs.

Thanks for the exercise though, was fun!

Karl

On 5/15/07, Steve Green <[EMAIL PROTECTED]> wrote:


This kind of design always causes problems during user testing because a
screen reader user does not know what comes after form controls when they
occur in the middle of a line. In fact they don't even know it's in the
middle of a line.

You are asking them to read the whole sentence then go back to the middle to
enter data in the form. Screen reader users' ability to deal with unusual
constructions like this depends on their experience to a far greater extent
than fully able users. We find that they may be able to hear all the content
but just can't understand what they are supposed to do with it. If this form
control is on its own then they will probably cope but if there are lots
more like it then it becomes increasingly likely they won't. Blind people
don't always 'visualise' things the way you might expect, particularly if
they have been blind from birth.

Invisible labels are fine, but if you really want it to be more accessible,
put the form controls at the end of the sentences.

Steve
 www.testpartners.co.uk
www.accessibility.co.uk



 ________________________________
 From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On
Behalf Of Greg
Sent: 14 May 2007 21:23
To: wsg@webstandardsgroup.org
Subject: [WSG] Accessible, complex forms


I have a dilemma that I hope someone can advise me on.  A client wants a
fairly complex form that will have input fields in the middle of a line of
text (think "adlibs"), and then a select box at the end of the line. For
example:

[th]  Alert  ...  [th]  Status or delivery choice
[td]  Balance is within $_____  of my credit limit    ....    [td]  select
box [email/sms/both]

I hope that example made sense.  The problem we are facing is with screen
readers, and our approach so far has been to create invisible labels with
css.

Is there a more accessible way to make this type of form more accessible?

Thanks in advance,

Greg

----------------
http://www.wolkinsphotography.com
http://www.catscape.com






*******************************************************************
List Guidelines:
http://webstandardsgroup.org/mail/guidelines.cfm
Unsubscribe:
http://webstandardsgroup.org/join/unsubscribe.cfm
Help: [EMAIL PROTECTED]
*******************************************************************

*******************************************************************
List Guidelines:
http://webstandardsgroup.org/mail/guidelines.cfm
Unsubscribe:
http://webstandardsgroup.org/join/unsubscribe.cfm
Help: [EMAIL PROTECTED]
*******************************************************************


*******************************************************************
List Guidelines: http://webstandardsgroup.org/mail/guidelines.cfm
Unsubscribe: http://webstandardsgroup.org/join/unsubscribe.cfm
Help: [EMAIL PROTECTED]
*******************************************************************

Reply via email to