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

Adam Skutt askutt at gmail.com
Thu Jan 20 12:32:20 EST 2011


On Jan 20, 10:44 am, "Octavian Rasnita" <orasn... at gmail.com> wrote:
> From: "Adam Skutt" <ask... at gmail.com>
> 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.
>
> Yes, but WxPython uses wxWIDGETS and wxWIDGETS use the standard Win32 controls under Windows, so they are accessible.
> And they use Gtk under Linux and Gtk is accessible under Linux also.

wxGTK is not, though.  wxWidgets is only accessible under Windows.  Qt
is accessible under Windwos, OS X, and anything that supports AT-
SPI[1].  Yet, for some unfathomable reason, you keep promoting
wxWidgets even though it is plainly the inferior solution.

> Yes of course they can do that if they use the wrong tool. They can't do the right thing if they believe that Tk or Silverlight or Flash is accessible no matter if they follow the recommendations for accessibility, because the screen readers don't support those interfaces.

No, even using the right tools: http://doc.qt.nokia.com/qq/qq24-accessibility.html#dealingwithquirks
(a few years old, but AFAIK still relevant).  It's a crap shoot even
if I use tools that support accessibility, because the APIs aren't
very good.  Some of the new APIs improve the problem, but some reading
suggests there will still be the need for a lot of special case
handling on both sides of the table.

> Nope, the cultural problem exists because the programmers use the wrong interface, not because they just don't make the efforts for making that interface more accessible.

No, they don't think about it, they don't test, they don't make the
necessary calls to enable accessible applications.  Plenty of
applications with poor to non-existent accessibility support are
written with toolkits that support accessibility.

> To be more clear and not to include in the discussion many interfaces, we are comparing Tkinter and WxPython.

No, we're not comparing just them, because they're hardly the only
solutions.

> I am not excluding anything. I said that all the Tk-based programs are inaccessible no matter what the programmer does to make it accessible, because the screen readers can't work with that interface.
> And I have also said which are the accessible interfaces: wxWIDGETS (which use Win32 GUI under Windows and Gtk under Linux), SWT (which I think it does exactly the same thing as wxWIDGETS), WindowsForms (DotNet) and SWING (if the user installs Java Access Bridge).

This is not a complete list, or even a correct list, which was my
point.

> It depends if there is a JAWS script defined.

Stop. You've insisted many times that I need to not do anything
special for making accessible applications.  Yet, JAWS has an API
entirely for the purpose of enhancing accessibility for specific
applications!  So, which is it?  If I don't need to do anything
special, then why does the API exist?  Oh right, it exists so people
can compensate for developers shortcomings.

It's very hard to take anything you say seriously when you repeatedly
get basic facts wrong and when you make claims that aren't consistent
with the facts.

> If the user doesn't want or don't know how to create that script for improving the usability, he/she might need to learn how to use the application by trial and error, but what I want to show is that the user is *able* to use that application, even if the interface is not very friendly, but it would be absolutely impossible to use an application created with Tkinter.

He / she might be able to use the application.  It's a "maybe", not a
"for sure", yet you consistently imply it's the latter.

> I am not talking about custom controls. Those things are the worst thing possible from the perspective of accessibility, because usually nobody cares about providing accessibility features.

Yet I was talking about custom controls, and plenty of applications
use custom controls, so you cannot ignore them even if you'd wish to
do so.

> My point was that Tkinter which uses Tk is bad, and I didn't tried too many QT-based applications.

No, you explicitly stated that Qt has zero accessibility support,
which is simply false.  You didn't say, "The ones I tried haven't
worked", which is certainly possible depending on version and how Qt
was compiled (since Qt is normally shipped with the application on
Windows).  You said, "But the interfaces created with Tk, Gtk and QT
are completely inaccessible."

> And I don't see what you demonstrate when you wanted to show Tkinter it is comparing with WxPython...

I never said I was going to demonstrate anything between Tkinter and
wxPython.  Such a demonstrate is in your imagination.

Adam



More information about the Python-list mailing list