Accessibility issue: unread flag is no longer exposed to orca or Windows screen reader
Categories
(Thunderbird :: General, defect)
Tracking
(thunderbird65 fixed, thunderbird66 fixed)
People
(Reporter: jorgk-bmo, Assigned: jorgk-bmo)
Details
(Keywords: access)
Attachments
(1 file, 1 obsolete file)
927 bytes,
patch
|
jorgk-bmo
:
review+
jorgk-bmo
:
approval-comm-beta+
|
Details | Diff | Splinter Review |
According to a private message from the reporter:
This build includes the regression thus is not OK in this regard: https://download-installer.cdn.mozilla.net/pub/thunderbird/nightly/2018/06/2018-06-19-10-02-54-comm-central/thunderbird-62.0a1.en-US.linux-x86_64.tar.bz2
And all older builds including this one do expose unread flag on the message list row to orca thus these builds are OK in this regard: https://download-installer.cdn.mozilla.net/pub/thunderbird/nightly/2018/06/2018-06-18-10-08-53-comm-central/thunderbird-62.0a1.en-US.linux-x86_64.tar.bz2
Assignee | ||
Comment 1•6 years ago
|
||
Hmm, if I add one day to the range I get:
https://hg.mozilla.org/comm-central/pushloghtml?startdate=2018-06-17&enddate=2018-06-20
https://hg.mozilla.org/mozilla-central/pushloghtml?startdate=2018-06-17&enddate=2018-06-20
Nothing springs to mind there. Alice, could you improve the regression range by looking at the particular builds for up.
Assignee | ||
Comment 2•6 years ago
|
||
... for us.
![]() |
||
Comment 3•6 years ago
|
||
(In reply to Jorg K (GMT+1) from comment #1)
Hmm, if I add one day to the range I get:
https://hg.mozilla.org/comm-central/pushloghtml?startdate=2018-06-
17&enddate=2018-06-20
https://hg.mozilla.org/mozilla-central/pushloghtml?startdate=2018-06-
17&enddate=2018-06-20Nothing springs to mind there. Alice, could you improve the regression range
by looking at the particular builds for up.
What is the orca? And please describe detailed STR.
Assignee | ||
Comment 4•6 years ago
|
||
I think it's a screen reader.
All I want you to do is to download the two Daily builds and check the build changesets. You do use Linux as well as Windows, no?
Assignee | ||
Comment 5•6 years ago
|
||
If need be, Alex will answer those questions.
Comment 6•6 years ago
|
||
(In reply to Alice0775 White from comment #3)
(In reply to Jorg K (GMT+1) from comment #1)
Hmm, if I add one day to the range I get:
https://hg.mozilla.org/comm-central/pushloghtml?startdate=2018-06-
17&enddate=2018-06-20
https://hg.mozilla.org/mozilla-central/pushloghtml?startdate=2018-06-
17&enddate=2018-06-20Nothing springs to mind there. Alice, could you improve the regression range
by looking at the particular builds for up.What is the orca? And please describe detailed STR.
Orca is a screen reader for GNU/Linux, a tool used by blind and visual-impaired people to get a feedback of what there is on the screen via speech synthesis and/or braille display (USB device that create braille emulation). In practice, screen reader doesn't read the screen, Orca gets on Linux DBUS messages to be aware of what there are on the screen like "you're on Thunderbird", "you're on the message OBJECT SENDER DATE FLAG".
If you want to understand more precisely what accessibility means, you can show this conference called "How software accessibility works?" (in English): https://rmll.ubicast.tv/videos/comment-fonctionne-laccessibilite-des-logiciels/ (it's only 40 minutes)
Best regards,
Alex.
Comment hidden (obsolete) |
![]() |
||
Comment 8•6 years ago
|
||
please ignore comment#7.
Using windows10 narrator (I did not try on Linux),
Mouse hover over unread icon of a message in thread pane. then the narrator
should say "unread".
(There is no specific steps、so I assumed.)
Regression window:
https://hg.mozilla.org/comm-central/pushloghtml?fromchange=d494b829635c7c908d5829c7a5a04740d88292c4&tochange=7c8d92b041349e75ebcf2f5ab7fb66e107741fad
https://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=9b74b9f2939a7ae3a0ea6e711dc32ed5203e03ff&tochange=1e2c9151a09e43613a79daa8d4a94dc3e314020c
Assignee | ||
Comment 9•6 years ago
|
||
Thank you so much, Alice. Great idea to use the tools at hand :-)
It surely looks like:
802e67be3e3e Jorg K — Bug 1466782 - Follow-up: Fix nsMsgDBView::CellTextForColumn() to use nsString parameters. r=aceman,alta88
That was only a follow-up in that bug, the two main changesets landed 12 days before on 2018-06-06.
So the question is, why did https://hg.mozilla.org/comm-central/rev/802e67be3e3e change things?
All we did is to change an internal interface to switch from raw strings to smart strings.
Which information do the screen readers use? Where has that changed?
Comment 10•6 years ago
|
||
(In reply to Alice0775 White from comment #8)
please ignore comment#7.
Using windows10 narrator (I did not try on Linux),
Mouse hover over unread icon of a message in thread pane. then the narrator
should say "unread".
(There is no specific steps、so I assumed.)
Oh, if you need to do testing on Windows I really advise you to use NVDA: https://www.nvaccess.org/download/
I don't know any blind relying on the Narrator except for installing Windows or another screen reader.
Best regards,
Alex.
Comment 11•6 years ago
|
||
In the C++ area I can unfortunately not help.
Assignee | ||
Comment 12•6 years ago
|
||
It's not a C++ issue. There must he something in the UI that the screen reader picks up. Most likely visible with the inspector. So you could check the difference between those two version.
Comment 13•6 years ago
|
||
The list of email messages is a tree table. Each row represents a message.
Each row has individual cells inside. When navigating up and down in this tree table focus moves from one row to another.
When a row receives the focus thunderbird fires respective selected or focused event according to the platform.
This is all working fine.
However as screen readers such as orca on Linux or NVDA on Windows present the selected row to screen reader users they are asking thunderbird for additional accessibility related properties so they have something usefull to present.
As I see it these rows have no accessible name associated because that accessible name is calculated (made up of) accessible names and text labels of individual row child elements.
On both linux and windows read, replied and attachment cells have no visible text or accessible Name thus that info is not populated into the row accessible name. Screen readers are looking for.
When arrowing over the read column usingthe mouse on windows, NVDA presents column header firstand then an empty cell.
Hopefully this might help a bit when figuring out what has changed.
Comment 14•6 years ago
|
||
You can easily test like this, in a console, and toggling message 0 in a folder to read/unread.
t=document.getElementById("threadTree")
c=t.columns["unreadButtonColHeader"]
gDBView.getCellValue(0, c)
- It should be "unreadButtonColHeader" and not ""unreadCol"" in GetCellValue(). That col should really be renamed.
I don't know why or if it fact it's true the others aren't there; it returns correctly for "attachmentCol". Maybe something isn't calling getCellValue() anymore, but I don't see why in this changeset, unless someone's c++ string foo is off..
Assignee | ||
Comment 15•6 years ago
|
||
Like this? I found two call sites.
Comment 16•6 years ago
|
||
Comment on attachment 9035775 [details] [diff] [review]
1519044-fix-unread-column.patch
no, the second one shouldn't be changed, it means unread in a thread count. what i meant was that unreadButtonColHeader should globally be renamed to unreadCyclerCol and unreadCol should be renamed to unreadCountCol.
but for just this bug, the change is only required in GetCellValue().
Comment 17•6 years ago
|
||
r+ if you just make that change, and want it now, i'm afk.
Assignee | ||
Comment 18•6 years ago
|
||
r+ as per comment #17.
Assignee | ||
Updated•6 years ago
|
Comment 19•6 years ago
|
||
Pushed by mozilla@jorgk.com:
https://hg.mozilla.org/comm-central/rev/0c6c2007dfae
Bug 1466782 follow-up: fix incorrect 'unread column' name. r=alta88
Assignee | ||
Updated•6 years ago
|
Comment 20•6 years ago
|
||
Huge thank you to you all guys! The fix can already be seen in today's daily build. It works fine now.
Assignee | ||
Comment 21•6 years ago
|
||
Yes, included in today's Daily. We'll fix TB 65 beta as well. TB 60 is not affected.
However, the original report was for "read" status and attachments flags. So was the attachments flag a false alarm or is there still an issue?
![]() |
||
Comment 22•6 years ago
|
||
So what is the actual fix? Why does changing the column name fix anything? Are there any rules for the names, or some pattern that the screen readers look for?
Comment 23•6 years ago
|
||
(In reply to :aceman from comment #22)
So what is the actual fix? Why does changing the column name fix anything?
Are there any rules for the names, or some pattern that the screen readers
look for?
I don't think so, the screen reader gets the whole line (I assume the it's concatenated by Thunderbird itself).
I've requested a needinfo to MarcoZ from Mozilla accessibility team, maybe his experience and historic on the accessibility topic could help us.
Best regards,
Alex.
Comment 24•6 years ago
|
||
I can't modify the see also field: there is a related bug (not regression), the bug 448235
"Thunderbird replied and forwarded states not exposed via AT-SPI"
https://bugzilla.mozilla.org/show_bug.cgi?id=448235
Assignee | ||
Comment 25•6 years ago
|
||
(In reply to :aceman from comment #22)
So what is the actual fix? Why does changing the column name fix anything?
case 'u':
- if (colID.EqualsLiteral("unreadCol") &&
+ if (colID.EqualsLiteral("unreadButtonColHeader") &&
!(flags & nsMsgMessageFlags::Read))
{
nsString tmp_str;
tmp_str.Adopt(GetString(u"messageUnread"));
aValue.Assign(tmp_str);
Well, if you don't detect the column since you're looking for the wrong ID, then the cell is not given the value "messageUnread" and consequently the reader doesn't see it as unread.
![]() |
||
Comment 26•6 years ago
|
||
I see now, the column name in this cpp file and the in the XUL display wasn't the same so the column wasn't populated.
Comment 27•6 years ago
|
||
OK, looks like you found the solution, cancelling NI.
Assignee | ||
Comment 28•6 years ago
|
||
TB 65 beta 3:
https://hg.mozilla.org/releases/comm-beta/rev/288a64bc4e709686ca1390a2319fd194347b3d38
Description
•