Tkinter: The good, the bad, and the ugly!

Adam Skutt askutt at gmail.com
Thu Jan 20 09:40:44 EST 2011


On Jan 20, 8:19 am, "Octavian Rasnita" <orasn... at gmail.com> wrote:
> The Windows applications are not accessible only if they use MSAA. The
> screen readers know how to get the necessary information for making the
> interfaces accessible in other ways, but of course, it is harder for the
> screen reader manufacturers if the GUIs don't respect a standard.

Actually, JAWS uses MSAA dead last, as I understand it, because the
API is truly that awful.  But MSAA is necessary whenever you're not
using a Win32 common control or most of the other stuff developed by
MS.  That means essentially every non-MS toolkit that's been
discussed.

> And if MSAA is hated it doesn't mean that the accessibility is so poor as
> you might think.

No, but it does mean precisely what I said: application developers can
do the "right" thing and get the wrong result.

> Yes, that's a problem but we divagate.

If you believe that is a problem then you cannot say, "Accessibility
does not require special effort" without contradicting yourself.  If
it did not require effort over and above the norm, then the cultural
problem would not exist.

> Yes of course, Adobe's products are at most very hard accessible or not
> accessible at all and I already said that Gtk is not accessible under
> Windows, just like Tk.

Which means you're excluding a large swath of applications in your
analysis.

> Well, I haven't used WxPython until now, but only WxPerl, however the WxPerl
> programmers don't need to set the tab focus because by default the tab focus
> is set in the order of the controls on the form and I thought it should be
> the same in WxPython.

It's set in the order you create the controls (with some exceptions),
which may or may not be the correct tab focus order.  Moreover, the
same FAQ I linked tells you that you need to set special styles to
support proper tab order when tabbed widgets and certain other
controls are involved, to say nothing of fall backs for certain other
controls that aren't provided automatically.

> Yes, that's true, but as I said, some GUIS like WxPython offer the
> accessibility, so those controls are visible, and it is less important if
> they are in a right tab order or if some of the controls are not labeled,
> because the screen reader can solve these things.

You've said yourself that it often requires trial and error on the
part of the user, so which is it?

> A GUI which offers accessible widgets only if they are coded specially for
> beeing accessible are not accessible at all,

That's the case with every GUI API on the planet: if you write a
custom widget you must provide accessibility support for it.  This is
nothing new.

> Have you created that QT application with its default options? Without doing
> anything special to make it accessible?

Yes, you don't have to do a thing, unless you're custom building Qt
yourself.  On Linux, you have to set QT_ACCESSIBILITY = 1, but Linux
is the exception.

> And most important, have you tested it with JAWS screen reader? (Or
> WindowEyes at least) because these are the most used screen readers.
> NVDA is pretty poor and it can't be used for very complex things (yet).
>
No, and I have zero interest in doing so.  Point was merely to
demonstrate your statement was false.

Adam



More information about the Python-list mailing list