Re: [orca-list] Roundcube mail possibly accessibility of other rich web apps



Hey Peter.

Thanks for testing! Any chance you could start drafting a how-to guide
on using Roundcube with Orca? (Yeah, I know, if you asked me to do the
same I'd laugh and make a snarky comment about my copious spare time.
You should feel free to laugh at me and make snarky comments and say
"no." Seriously.) But if you do at some point have some spare time, this
would be some nice documentation to have.

--joanie

On 08/06/2016 04:35 PM, Peter Vágner wrote:
Hello,
This is more than awesome. This must be magic. To make that table
reporting when in focus mode it appears you have just added
_generateTableCellRow() into the speach and braille generator. For less
experienced developer that would be a difficult task.

The follow up commit where you are fixing focus mode widgets irons all
nits I was able to find while using Roundcube. Now this is fully
accessible and very predictable to work with. For anyone dealing with
huge mailboxes, relying on imap search I definatelly recommend giving
Roundcube with Orca and Firefox a try. Address book and settings are
also all fully accessible.

When coupled with other fixes you have done today I think it potentialy
contributes to even more awesome experience with other rich web apps.

There is one worth noting feature still missing at the Roundcube side of
things. Multiselection capability of email messages list is not yet
communicated via ARIA markup and supporting javascript code.

Greetings

Peter


2016-08-06 19:01 GMT+02:00 Joanmarie Diggs <jdiggs igalia com
<mailto:jdiggs igalia com>>:

    Hi again Peter.

    Orca master now treats the descendants of menus and toolbars as focus
    mode widgets. Hopefully that will address the other problem you
    reported. Please let me know. Thanks!

    --joanie

    On 08/06/2016 10:56 AM, Joanmarie Diggs wrote:
    > Hey Peter.
    >
    > I believe I have fixed the presentation of your "most difficult
    hurdle."
    > (Igalia happens to use Roundcube for webmail.) Please pull master and
    > let me know. Then you can help me with my most difficult hurdle: Where
    > is this collapsed button with the menu popup? If you tell me where it
    > is, I will fix it.
    >
    > Thanks!
    > --joanie
    >
    > On 08/06/2016 02:43 AM, Peter Vágner wrote:
    >> Hello,
    >>
    >> It was a while ago that I have posted little about Roundcube mail.
    >> That's a web based email client. Back in the days its authors were
    >> working on a better accessibility support. They have even wiki pages
    >> dedicated to accessibility so they can do as good as possible.
    >> Looking at this wiki page we can see there are a lot of nice
    things they
    >> have done. For example they have clearly identified section of
    the mail
    >> app UI, marked them up with headings and aria roles, they are using
    >> legend and fieldset in the forms with more items resembling desktop
    >> style dialogs at least from the accessibility related standpoint,
    they
    >> are using aria-expanded state and aria-popup properties to denote the
    >> fact pressing a control may reveal more content, they have
    implemented
    >> some menus resembling desktop style popup menus, there is accessible
    >> list box in the contacts window of the email app.
    >>
    >> All this is working great when used in firefox and orca running with
    >> some little exceptions for example when the collapsed button is given
    >> the focus orca switches to focus mode. When the button is pressed
    a menu
    >> pops up. First item of that menu is a checkbox and focusing the
    checkbox
    >> makes orca to switch back into browse mode. I know this is a bit
    >> complex, changing how orca switches to focus mode or browse mode is
    >> difficult decision. Still I think we can slowly improve this. Perhaps
    >> trying to get a bit more inspiration from NVDA would be a sane
    approach.
    >>
    >> And now the most difficult hurdle. There is a table listing email
    >> messages. Each table row coresponds to a single message in the list.
    >> When looking at the DOM in the Firefox dev tools This row has
    additional
    >> cells inside. And the first cell has link inside, other cells do
    usually
    >> only have text and formatting. When looking at the same table using
    >> Accerciser I can see the Firefox correctly computes accessible
    name for
    >> the entire row. It's made up of the accessible texts of all its
    >> children. So far so good it appears we would get their accessibility
    >> support at our end in orca for free. Unfortunatelly this is more
    >> complicated than that.
    >> When arrowing up and down in this table, orca is correctly reporting
    >> focus changes, however, there is no text to report. From the fact
    focus
    >> is working here is that most likely they are using active descendants
    >> and a bit of javascript magic to provide keyboard navigation
    within this
    >> table.
    >> When looking for the events we are getting using Accerciser I can see
    >> the following output. First I tab into a link, next I tab into that
    >> table and keep pressing up and down arrow keys:
    >>
    >>     source: [link | Size]
    >>     application: [application | Firefox]
    >> object:state-changed:focused(1, 0, 0)
    >>     source: [link | Size]
    >>     application: [application | Firefox]
    >> object:text-selection-changed(0, 0, )
    >>     source: [link | Size]
    >>     application: [application | Firefox]
    >> object:text-caret-moved(0, 0, 0)
    >>     source: [link | Size]
    >>     application: [application | Firefox]
    >> focus:(0, 0, 0)
    >>     source: [table cell | ]
    >>     application: [application | Firefox]
    >> object:state-changed:focused(1, 0, 0)
    >>     source: [table cell | ]
    >>     application: [application | Firefox]
    >> object:text-selection-changed(0, 0, )
    >>     source: [table cell | ]
    >>     application: [application | Firefox]
    >> object:text-caret-moved(0, 0, 0)
    >>     source: [section | ]
    >>     application: [application | Firefox]
    >> focus:(0, 0, 0)
    >>     source: [table cell | ]
    >>     application: [application | Firefox]
    >> object:state-changed:focused(1, 0, 0)
    >>     source: [table cell | ]
    >>     application: [application | Firefox]
    >> object:text-selection-changed(0, 0, )
    >>     source: [table cell | ]
    >>     application: [application | Firefox]
    >> object:text-caret-moved(0, 0, 0)
    >>     source: [section | ]
    >>     application: [application | Firefox]
    >> focus:(0, 0, 0)
    >>     source: [table cell | ]
    >>     application: [application | Firefox]
    >> object:state-changed:focused(1, 0, 0)
    >>     source: [table cell | ]
    >>     application: [application | Firefox]
    >> object:text-selection-changed(0, 0, )
    >>     source: [table cell | ]
    >>     application: [application | Firefox]
    >> object:text-caret-moved(0, 0, 0)
    >>     source: [section | ]
    >>     application: [application | Firefox]
    >> focus:(0, 0, 0)
    >>     source: [table cell | ]
    >>     application: [application | Firefox]
    >> object:state-changed:focused(1, 0, 0)
    >>     source: [table cell | ]
    >>     application: [application | Firefox]
    >> object:text-selection-changed(0, 0, )
    >>     source: [table cell | ]
    >>     application: [application | Firefox]
    >> object:text-caret-moved(0, 0, 0)
    >>     source: [section | ]
    >>     application: [application | Firefox]
    >> object:property-change:accessible-parent(0, 0, [section | ])
    >>     source: [section | ]
    >>     application: [application | Firefox]
    >> object:children-changed:add:system(0, 0, [section | ])
    >>     source: [section | ]
    >>     application: [application | Firefox]
    >> object:text-changed:insert:system(0, 1, )
    >>     source: [section | ]
    >>     application: [application | Firefox]
    >> object:text-changed:delete:system(0, 4, 6872)
    >>     source: [section | ]
    >>     application: [application | Firefox]
    >> object:children-changed:remove:system(-1, 0, [section | ])
    >>     source: [section | ]
    >>     application: [application | Firefox]
    >> object:text-changed:delete:system(0, 1, )
    >>     source: [section | ]
    >>     application: [application | Firefox]
    >> object:text-changed:insert:system(0, 4, 6872)
    >>     source: [section | ]
    >>     application: [application | Firefox]
    >>
    >>
    >> I think that's good for an example.
    >> I haven't managed to investigate further what's wrong but with
    NVDA and
    >> Firefox on Windows this table is accessible.
    >> I am speculating on how to go about improving this.
    >> Are roundcube developers setting wrong active descendants here if
    we are
    >> getting focus events on the cell rather than its parent row? When
    >> looking at the row states with Accerciser the row never includes
    focused
    >> within its states.
    >> Might Firefox possibly be giving us false information when firing
    these
    >> events? I would guess it makes perfect sense at the Roundcube
    developers
    >> side of things to refer to the table row rather than a cell inside.
    >> What is NVDA on Windows doing in order to overcome this? Or is
    Firefox
    >> on Windows likelly to fire different events?
    >>
    >> I'll try to look at this app with NVDA to discover more. I will also
    >> test it in more browsers on Windows to get an idea whether it
    might be
    >> sane hacking this around at Roundcube side of things.
    >>
    >> Still if you can help a bit with this or give some ideas I would be
    >> happy. Also for testing I can give out temporary email accounts with
    >> access to my company install of Roundcube so you can see what's
    going on
    >> if you have no access to such enviromment for testing.
    >>
    >> Thunderbird is most resource intensive app on my system with my huge
    >> mailboxes that's sometimes getting insane, so I am looking for
    ways on
    >> how to overcome this. Trying to fix a web app appears to be most
    easiest
    >> from options I have explored so far so it's why I'm trying to find a
    >> solution to this.
    >>
    >> Thanks and greetings
    >>
    >> Peter
    >>
    >> _______________________________________________
    >> orca-list mailing list
    >> orca-list gnome org <mailto:orca-list gnome org>
    >> https://mail.gnome.org/mailman/listinfo/orca-list
    <https://mail.gnome.org/mailman/listinfo/orca-list>
    >> Orca wiki: https://wiki.gnome.org/Projects/Orca
    <https://wiki.gnome.org/Projects/Orca>
    >> Orca documentation: https://help.gnome.org/users/orca/stable/
    <https://help.gnome.org/users/orca/stable/>
    >> GNOME Universal Access guide:
    >> https://help.gnome.org/users/gnome-help/stable/a11y.html
    <https://help.gnome.org/users/gnome-help/stable/a11y.html>
    >> Log bugs and feature requests at http://bugzilla.gnome.org
    >
    > _______________________________________________
    > orca-list mailing list
    > orca-list gnome org <mailto:orca-list gnome org>
    > https://mail.gnome.org/mailman/listinfo/orca-list
    <https://mail.gnome.org/mailman/listinfo/orca-list>
    > Orca wiki: https://wiki.gnome.org/Projects/Orca
    <https://wiki.gnome.org/Projects/Orca>
    > Orca documentation: https://help.gnome.org/users/orca/stable/
    <https://help.gnome.org/users/orca/stable/>
    > GNOME Universal Access guide:
    https://help.gnome.org/users/gnome-help/stable/a11y.html
    <https://help.gnome.org/users/gnome-help/stable/a11y.html>
    > Log bugs and feature requests at http://bugzilla.gnome.org
    >




This body part will be downloaded on demand.




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]