Re: [orca-list] Odd issue with the Riot web client
- From: Joanmarie Diggs <jdiggs igalia com>
- To: Nolan Darilek <nolan thewordnerd info>, Orca <orca-list gnome org>
- Subject: Re: [orca-list] Odd issue with the Riot web client
- Date: Wed, 22 Jan 2020 19:14:43 -0500
Hey Nolan.
tl;dr: Seems that you're in the Message Actions toolbar when it goes
poof! The document itself then claims focus. Orca tries to figure out
where you should be. It concludes the list (good), but the first item in
that list (bad). I can try to improve things in Orca -- which already
has a lot of logic to recover from things going poof! But maybe the Riot
devs can help with clues and/or solutions on their end? Also, push
buttons should have names. At least one in Riot apparently doesn't....
Details:
Note that the following snippets are extremely trimmed down to eliminate
irrelevant noise:
vvvvv CONSUME ATSPI_KEY_PRESSED_EVENT: 'Up' (111) vvvvv
16:27:57 - SPEECH OUTPUT: '16:14 link.'
Joanie: Caret nav puts you on the timestamp.
^^^^^ CONSUME ATSPI_KEY_PRESSED_EVENT: 'Up' (111) ^^^^^
vvvvv PROCESS OBJECT EVENT object:children-changed:add:system vvvvv
16:27:57 - OBJECT EVENT: ... (2, 0, [tool bar | Message Actions])
Joanie: Messages Actions presumably popped up.
^^^^^ PROCESS OBJECT EVENT object:children-changed:add:system ^^^^^
vvvvv PROCESS OBJECT EVENT object:state-changed:focused vvvvv
16:27:57 - OBJECT EVENT: ... (1, 0, 0) ... name='16:14' role='link'
16:27:57 - WEB: Event ignored: Last command was caret nav
Joanie: Focus claim - set the caret on the link (already presented)
^^^^^ PROCESS OBJECT EVENT object:state-changed:focused ^^^^^
vvvvv CONSUME ATSPI_KEY_PRESSED_EVENT: 'Up' (111) vvvvv
16:27:57 - WEB: Current context is: [link | 16:14], 0
16:27:57 - ORCA: Changing locusOfFocus to [push button | ]
Joanie: Note this button lacks a name. That's not good. What is it?
16:27:57 - SPEECH OUTPUT: 'push button.'
^^^^^ CONSUME ATSPI_KEY_PRESSED_EVENT: 'Up' (111) ^^^^^
vvvvv PROCESS OBJECT EVENT object:children-changed:add:system vvvvv
16:27:57 - OBJECT EVENT: ... (2, 0, [tool bar | Message Actions])
Joanie: Messages Actions presumably popped up.
^^^^^ PROCESS OBJECT EVENT object:children-changed:add:system ^^^^^
vvvvv PROCESS OBJECT EVENT object:state-changed:focused vvvvv
16:27:58 - OBJECT EVENT: ... (1, 0, 0) ... role='push button'
16:27:58 - WEB: Event ignored: Last command was caret nav
Joanie: Focus claim - set the caret on the button (already presented)
^^^^^ PROCESS OBJECT EVENT object:state-changed:focused ^^^^^
vvvvv PROCESS OBJECT EVENT object:property-change:accessible-name vvvvv
16:27:58 - ... Peter Vágner 16:13 I'm running Firefox nightly 74 and I
haven't noticed it today. Message Actions)
Joanie: Orca does nothing in response. I wonder why this event came in.
^^^^^ PROCESS OBJECT EVENT object:property-change:accessible-name ^^^^^
vvvvv PROCESS OBJECT EVENT object:property-change:accessible-name vvvvv
16:27:58 - ... 16:14 I was chatting for a hour or so with riot web in
firefox 74.)
Joanie: Orca does nothing in response. I wonder why this event came in.
^^^^^ PROCESS OBJECT EVENT object:property-change:accessible-name ^^^^^
vvvvv CONSUME ATSPI_KEY_PRESSED_EVENT: 'Up' (111) vvvvv
16:27:58 - WEB: Current context is: [push button | ], 0
16:27:58 - ORCA: Changing locusOfFocus to [tool bar | Message Actions]
16:27:58 - WEB: Generating speech contents (length: 2)
16:27:58 - ITEM 0: [tool bar | ], start: 0, end: 1, string: ''
Joanie: Oops, where'd the name go?
16:27:58 - ZOMBIE: [tool bar | ] is defunct
Joanie: Make that where did the toolbar go?
16:27:58 - ITEM 1: [push button | ], start: 0, end: 1, string: ''
16:27:58 - SPEECH OUTPUT: 'tool bar.'
16:27:58 - SPEECH OUTPUT: 'push button.'
Joanie: This is where things have clearly gone south....
^^^^^ CONSUME ATSPI_KEY_PRESSED_EVENT: 'Up' (111) ^^^^^
Now we get events telling us the toolbar is dead:
* property-change:accessible-name for [tool bar | ]
* children-changed:remove:system for [section } ] (2, 0, [tool bar | ])
* text-changed:delete:system for [section | ] (64, 1, [OBJ])
And then the document itself claims focus because something's got to....
16:27:58 - focus: for [document web | Riot [11]
16:27:58 - state-changed:focused for [document web | Riot [11] (1, 0, 0)
Orca soldiers on:
vvvvv PROCESS OBJECT EVENT object:state-changed:focused vvvvv
16:27:58 - OBJECT EVENT: ... (1, 0, 0) role='document web'
16:27:58 - WEB: Caret context is [tool bar | ], 0 (focus: [tool bar | ])
16:27:58 - ZOMBIE: [tool bar | ]'s index is -1
16:27:58 - WEB: Clearing context - obj is null or zombie
At this point Orca goes searching for where the caret should be.
It does this from the top down. Orca concludes the list (good).
But it *seems* to be settling on the first list item (not so good).
Not sure why yet.
^^^^^ PROCESS OBJECT EVENT object:state-changed:focused ^^^^^
At this point, when you up arrow, you wind up above the list. Which is
what you reported, of course.
So.... Maybe I can improve Orca's logic regarding trying to figure out
what you're on -- or should be on -- when the thing you're on goes poof!
Orca already does a lot of work in that regard, but it's clearly not
working here....
In the meantime, it would be really nice to be able to reproduce this
myself, locally and reliably, so that I can debug it and try to improve
that logic. So.... Would you, or the Riot developers, have any idea how
I can make this toolbar gain focus and then get destroyed while one is
on/in it?
What would be even cooler is if the Riot developers can detect this
condition themselves and maybe put focus or the caret where it belongs
(i.e. in the current chat message associated with the toolbar which went
poof!). Dunno if that's doable. But if it is, Orca should get an event
from Firefox saying what has focus and/or the caret. And that would be a
lot easier -- and way more performant in a super huge list like a chat
log -- than trying to do an accessible tree dive for the active item.
HTH.
--joanie
On 1/22/20 5:34 PM, Nolan Darilek wrote:
Very odd, you're not the only one unable to duplicate, seems to be
unique to me. I tried with both Firefox stable and nightly, disabling
all addons on nightly. Currently using riot.im/develop.
Here's a debug.out of the behavior, with us talking about duplicating it
no less:
https://send.firefox.com/download/91d0d5401798ef23/#MO0kXgEQYOG87-TngtlkcA
Thanks.
On 1/22/20 4:24 PM, Joanmarie Diggs wrote:
Hey Nolan.
I'm afraid I cannot reproduce the problem you describe. We use Riot at
Igalia btw. I tried with Firefox Nightly and the following versions of
Riot:
matrix-react-sdk version: <local>
riot-web version: 1.5.6
olm version: 3.1.3
Do you think something in particular might be triggering it, like an
incoming message?
--joanie
On 1/22/20 10:25 AM, Nolan Darilek wrote:
Working well here, thanks so much!
There is another odd Riot issue that I don't think affects NVDA. To
duplicate:
1. Start with focus in the message entry area.
2. Switch to Browse mode and arrow up a few times (yay that I can now
do this! :)
3. After 4-5 up-arrows, focus flies out of the message list and into
the room header.
I'd expect to be able to arrow up and read previous message history.
I can't always duplicate, but it happens way more often than not.
Using Orca master and Firefox 72.0.1.
Thanks again.
On 1/22/20 12:11 AM, Joanmarie Diggs wrote:
It looks like the Riot authors were creating a placeholder-like
experience with actual elements which Orca was treating like real
entry text and getting confused. This is now working for me. Please
test and let me know.
Thanks!
--joanie
On 1/9/20 9:58 AM, Nolan Darilek wrote:
Any chance this might get looked into again?
FWIW, Mozilla is abandoning IRC for Matrix, so Riot is about to
become an indispensable tool for anyone interacting via chat in the
Mozilla ecosystem. They've also been actively working on
accessibility and have a good and improving NVDA story. I say that
not to pit Orca against NVDA, but rather to note that they're
really trying to fix their accessibility issues.
Thanks.
On 11/15/19 8:53 AM, Nolan Darilek wrote:
OK, was mistaken. The failure case is a bit different, but when I
type into the field under Chromium, I can't arrow up past the
previous message. This is under Chromium 78, which I was just
upgraded to.
And yes yes, before you yell at me, I'm interested in this more as
what now appears to be a cross-browser bug with slightly different
behaviors, not as a Chromium issue. :) I just want this to work
somewhere--I don't much care where.
Thanks.
On 11/13/19 5:52 PM, Nolan Darilek wrote:
FWIW, I finally installed Chromium, and this doesn't happen with
Chromium 77.0.3865.120 Fedora Project and Orca master. So seems
specific to Firefox.
On 11/5/19 3:05 PM, Joanmarie Diggs wrote:
I can reproduce this. It looks like an Orca bug. I'm still
debugging it, but will hopefully have it fixed before too long.
I don't think it's a regression though. Or if it is, it's super
old. I went back to Orca 3.30 and the problem happens there....
On 11/1/19 11:29 AM, Nolan Darilek wrote:
Hey folks,
The Riot developers have been pouring lots of effort recently
into making their web-based Matrix client accessible. But I'm
experiencing a pretty significant issue with their new text
entry system for messages that they can't duplicate under NVDA.
I'm wondering if any Orca users are seeing the same, and if
this can be diagnosed as either a Firefox/Orca issue under
Linux, or as something they aren't doing correctly on their
end. To test, you'll need a Matrix account. Once you have one
and are logged in, visit this instance with accessibility
improvements:
https://riots.im/adhoc/a11y
Join a room or chat. You'll probably be automatically focused
into the message input field and put in focus mode. Once there,
enter browse mode and try arrowing up.
Apparently, NVDA handles this use case fine both in the
accessibility build and the development build at
riot.im/develop. Orca, on the other hand, won't let me arrow
up. I hear "Newline," followed by some buttons, and focus lands
back in the message entry field. The only way to escape this
field is to enter browse mode and use b/B/h/some other quick
navigation key, then hope you don't land back in the mud.
Happens under Orca master as of a few minutes ago and Firefox
nightly as of a few days ago, but it's happened for a bit now
so I don't think it's a bleeding-edge regression. Apologies for
not reporting it--been a bit busy and it hasn't been high
enough priority for me.
Is there any actionable feedback I can give the Riot folks to
fix this? They're pretty actively looking for feedback in the
#a11y:matrix.org room, so if you're Matrix-inclined and want to
give it then there is the best place, or I'll happily relay it
otherwise.
Thanks a bunch.
_______________________________________________
orca-list mailing list
orca-list gnome org
https://mail.gnome.org/mailman/listinfo/orca-list
Orca wiki: https://wiki.gnome.org/Projects/Orca
Orca documentation: https://help.gnome.org/users/orca/stable/
GNOME Universal Access guide:
https://help.gnome.org/users/gnome-help/stable/a11y.html
_______________________________________________
orca-list mailing list
orca-list gnome org
https://mail.gnome.org/mailman/listinfo/orca-list
Orca wiki: https://wiki.gnome.org/Projects/Orca
Orca documentation: https://help.gnome.org/users/orca/stable/
GNOME Universal Access guide:
https://help.gnome.org/users/gnome-help/stable/a11y.html
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]