Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

In Google Sheets, when Braille support is enabled, individual cells are identified as "selected" #8766

Open
Qchristensen opened this issue Sep 19, 2018 · 11 comments · Fixed by #8879

Comments

@Qchristensen
Copy link
Member

Steps to reproduce:

Open a spreadsheet on http://sheets.google.com/ (blank is fine)
Ensure accessibility and Braille support are enabled.
Navigate around the sheet with the arrow keys.

Actual behavior:

NVDA reads "Contents, selected, cell address" for each cell (where contents is the text in the cell and cell address is A2 or C12 or whatever the address is).

Expected behavior:

NVDA should only report "selected" when multiple cells are selected.

System configuration:

Firefox 62.0 64-bit or Chrome Version 69.0.3497.100 (Official Build) (64-bit)
(Behaviour the same on both).

NVDA Installed/portable/running from source:

NVDA 2018.3 installed.

Windows version:

Windows 10 fast Insidier build 17763.1

Does the issue still occur after restarting your PC?

Yes

Have you tried any other versions of NVDA?

NVDA 2018.2.1 (portable)
NVDA alpha-16065,4eb7aa5b (portable)

@frastlin
Copy link

@LeonarddeR
Copy link
Collaborator

I guess we can easily apply the same logic to table cells as applied to list items, for which only the not selected state is announced.

Is there any indication with speech that you've started a selection when you select multiple cells in Google Sheets?

@Qchristensen
Copy link
Member Author

It did correctly report when multiple cells were selected, yes. E.g. "Cells C12 to E12 selected" and if I shift+right arrow again "Cells C12 to F12 selected".

@LeonarddeR
Copy link
Collaborator

I created a try build

@Qchristensen
Copy link
Member Author

That works fine for me - "selected" is only announced now when I select multiple cells. I have also let the original person know who reported this and requested they test your try build. I'll update if I hear back from them elsewhere.

@frastlin
Copy link

This works great. The only time when "selected" is announced is when a new header row is navigated to. For example:
A1 in Google Sheets
All the left column in the AccDC Grid

Also, the column header row is not announced in Google Sheets, but the row headers are.
In the AccDC example, headers are announced twice when navigating to a new cell.
When you press NVDA+Shift+R once on B2, hit down arrow, hit up arrow, and press NVDA+shift+r again on B2, then B2 becomes a row header.

@lukaszgo1
Copy link
Contributor

I'm afraid this no longer works, at least with Firefox Nightly 75 and Google Sheets. I've ensured that braille mode is enabled, but "selected" is announced for every cell for me. I've also tried with 2018.4 and it no longer works there, so I assume something has changed either in Firefox or in Google Sheets. @Qchristensen Can you confirm, and if you can reproduce reopen this one?

@Qchristensen
Copy link
Member Author

This still works in Chrome Version 80.0.3987.122 (Official Build) (64-bit)
In Firefox 73.0.1 64-bit I do experience the same as @lukaszgo1 - arrowing between cells in a Google Sheet, everything is reported as "selected".

I grabbed the following log snippet from when I pressed an arrow key:

IO - inputCore.InputManager.executeGesture (10:38:49.568) - winInputHook (14284):
Input: kb(desktop):leftArrow
DEBUG - synthDrivers.oneCore.SynthDriver.cancel (10:38:49.582) - MainThread (10012):
Cancelling
DEBUGWARNING - NVDAObjects.IAccessible.IAccessible._get_IAccessibleRole (10:38:49.608) - MainThread (10012):
accRole failed: (-2147024809, 'The parameter is incorrect.', (None, None, None, 0, None))
IO - speech.speak (10:38:49.642) - MainThread (10012):
Speaking [LangChangeCommand ('en_US'), 'E-mail address', 'column header', 'selected', 'F 8']

@Qchristensen Qchristensen reopened this Feb 25, 2020
@lukaszgo1
Copy link
Contributor

Given that it seems to be unique to Firefox cc @jcsteh and @MarcoZehe

@jcsteh
Copy link
Contributor

jcsteh commented Feb 27, 2020

As of https://bugzilla.mozilla.org/show_bug.cgi?id=1521438 (Firefox 66), Firefox now complies with the MSAA spec such that accSelection returns VT_EMPTY for no selected items, VT_DISPATCH for a single selected item and VT_UNKNOWN + IEnumVARIANT for multiple selected items. The code in #8879 doesn't handle the VT_DISPATCH case.

@Adriani90
Copy link
Collaborator

This is now so far working well in Firefox.

The only part I still encounter is in case of merged cells. Here NVDA still reports "selected". This should not be the case when the merged cells are not selected.

cc: @michaelDCurran is this something which could be implemented as a followup of #8879?

@seanbudd seanbudd removed this from the 2018.4 milestone Dec 22, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
8 participants