New issue
Advanced search Search tips

Issue 919876 link

Starred by 1 user

Issue metadata

Status: Available
Owner: ----
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 3
Type: Bug
Team-Accessibility



Sign in to add a comment

[Orca] Page tabs should emit accessible name-changed events

Project Member Reported by joanmari...@gmail.com, Jan 8

Issue description

Steps to reproduce:
1. Launch the attached accessible event listener
2. Launch Chromium with "--force-renderer-accessibility https://wikipedia.org https://news.google.com"
3. Press Alt+2 to switch to the Google News page tab
4. Press Alt+1 to switch to the Wikipedia page tab
5. Press Ctrl+L, type news.yahoo.com, press return
6. Repeat steps 3 and 4

Expected results: The "Name before clearing cache" and "Name after clearing cache" output by the listener would be the same, reflecting the currently-displayed page tab text. In additional, name-changed events would be output by the listener.

Actual results: After a new URL is loaded, the name before clearing cache is the previously-displayed page tab text. The correct value is only shown after clearing the AT-SPI2 cache. No name-changed events are output by the listener.

Impact: If Orca doesn't clear the cache, it will present the wrong item to the end user. While Orca can do this, it would be better if name-changed events were emitted by Chromium whenever the accessible name of an item changes. AT-SPI2 pays attention to name-change events and updates its cached name when notified by the app that an object's name has changed.

Output from performing the steps above:
=======================================
$ ./page-tab-name.py 

Name before clearing cache: Untitled
Name after clearing cache:  Google News

Name before clearing cache: Untitled
Name after clearing cache:  Wikipedia

Name before clearing cache: Google News
Name after clearing cache:  Google News

Name before clearing cache: Wikipedia
Name after clearing cache:  Yahoo News - Latest News & Headlines
=======================================
 
page-tab-name.py
804 bytes View Download
I just discovered this problem also applies to the frame/window.

While Orca can deal with the problem for frames too, it's less ideal than the situation with page tabs: At the present time, calling clearCache() doesn't just clear the cache of the accessible; AT-SPI2 recursively clears the cache of all descendant accessible objects. In the case of a really huge accessibility tree, this can be a performance hit for the end user. But if I don't clear the cache, the user is told they are in a window they arguably are not in....
Status: Available (was: Untriaged)

Sign in to add a comment