Robert May wrote
And thanks for the input box code.
I'm always happy that such snippets are useful to others.
How is the Win32::GUi module philosophy, could it in the future include VB-like convenience modules such as a refined version of the input box? That could be useful but the convenience might easily bloat the API in the long run.

For my education how would a screen reader determine which label to read out for an edit control?
That's a good question and I don't know the exact answer. I guess they use some sort of heuristics for finding it out. THe reader does know the layout of the objects on screen, though very little of this spatial info is conveyed to the user. Also, it has an off-screen model of screen contents, which is basically a tree-view of the GUI with top-level windows at the highest level. For an analogy, think of the document object model in Mozilla browsers. In Supernova, you can actually inspect this off-screen model and if needed, give app specific instructions on reading.

I guess I mean what placement of the label would be best? To the left? Above?
Generally to the left is recommended and that's how it is done in most dialogs. Above will also likely work at least in some cases, as in the "advanced settings" label of Explorer's tools/folder options/view tab. YOu may also include text on both sides of the text field. IN that case, the left side is read first, followed by the current field contents, and finally the right side. Group boxes may also be used to label untitled controls. WHen you enter a group box, SUpernova will read the group name, give a small pause and then read the focused item in the group: e.g. "browse folders <pause> open each window in the same folder <pause> selected radio".

One thing you should not do, however, is having the check portion of a check box on the right side of the label. This, together with large gaps between the box and the label, will confuse most readers, I think. But for check boxes their label is still the window text. WHere as the window text for text fields is their contents. Thus I think, that from a programming point of view, the text field and its labele are always two diffferent entities, and are not explicitly tied to each other like a spinner and a text field are.

--
With kind regards Veli-Pekka Tätilä ([EMAIL PROTECTED])
Accessibility, game music, synthesizers and programming:
http://www.student.oulu.fi/~vtatila/

Reply via email to