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

Font information not read in Cell Format dialog in Excel 2016 / 365 #11504

Open
Qchristensen opened this issue Aug 17, 2020 · 16 comments
Open

Font information not read in Cell Format dialog in Excel 2016 / 365 #11504

Qchristensen opened this issue Aug 17, 2020 · 16 comments

Comments

@Qchristensen
Copy link
Member

Qchristensen commented Aug 17, 2020

Steps to reproduce:

  1. In any workbook, press CONTROL+1 to open the Cell format dialog.
  2. Press CONTROL+TAB until the focus is on the Font page.
  3. Press TAB to move through Font, Font Style and Size.
  4. Use the arrow keys to change the value of any of those values.

Actual behavior:

At steps 3 and 4, NVDA reports "Blank" (occasionally it read one value, but it was not consistent - eg at one point it read "Bold", and another time it read "Italic" when moving through the font style list).

NVDA didn't show an error in the log when moving through the dialog, but when first opening it recorded this:

IO - inputCore.InputManager.executeGesture (17:39:21.564) - winInputHook (5024):
Input: kb(laptop):control+1
DEBUGWARNING - NVDAObjects.window.excel.ExcelBrowseModeTreeInterceptor._get_isAlive (17:39:21.789) - MainThread (11956):
could not compare sheet names
Traceback (most recent call last):
  File "NVDAObjects\window\excel.pyc", line 463, in _get_isAlive
  File "comtypesMonkeyPatches.pyc", line 82, in new__getattr__
  File "comtypes\client\lazybind.pyc", line 168, in __getattr__
  File "comtypes\automation.pyc", line 729, in _invoke
  File "comtypesMonkeyPatches.pyc", line 26, in __call__
_ctypes.COMError: (-2147418111, 'Call was rejected by callee.', (None, None, None, 0, None))
DEBUG - treeInterceptorHandler.killTreeInterceptor (17:39:21.789) - MainThread (11956):
Killed treeInterceptor: <NVDAObjects.window.excel.ExcelBrowseModeTreeInterceptor object at 0x00D60490>
IO - speech.speak (17:39:22.199) - MainThread (11956):
Speaking [LangChangeCommand ('en_GB'), 'Format Cells', 'dialog', 'Color:']
DEBUG - synthDrivers.oneCore.SynthDriver._processQueue (17:39:22.199) - MainThread (11956):
Begin processing speech
IO - speech.speak (17:39:22.203) - MainThread (11956):
Speaking [LangChangeCommand ('en_GB'), 'Format Cells', 'tab control', 'Font']

There was a similar previous issue: #7758 which was noted as fixed in 2018.4. (I'm not sure if this is a regression of that fix, or a different issue with the same effect).

Expected behavior:

NVDA should read each option.

System configuration

NVDA installed/portable/running from source:

NVDA version:

NVDA 2019.1.1 through to 2020.2 and alpha-20739,89c84b84
(It does work with NVDA 2018.4)

Windows version:

Windows 10 (64-bit) Version: 1903 Build 18362

Name and version of other software in use when reproducing the issue:

I can replicate using Office 365 (64-bit) Version:
16.0.13029.20232

A user (Gowri Oraganti via email) initially reported this using Office 2016.

Other information about your system:

Other questions

Does the issue still occur after restarting your computer?

Yes

Have you tried any other versions of NVDA? If so, please report their behaviors.

As above

If addons are disabled, is your problem still occuring?

No add-ons

Did you try to run the COM registry fixing tool in NVDA menu / tools?

@comanna
Copy link
Contributor

comanna commented Aug 17, 2020 via email

@ivnc
Copy link
Contributor

ivnc commented Aug 20, 2020

A Spanish-speaking user has reported the same issue and it is fully reproducible, at least by me. The user is using Office 2016 and me 365.

Regards.

@ivnc
Copy link
Contributor

ivnc commented Aug 20, 2020

I should also add that reading character by character, with left/right arrows, reporting of selected option seems to be correct.

Regards.

@Carlos-EstebanM
Copy link

Hi all.
A user in the Spanish community report that this problem also is reproducible in NVDA 2020.3 beta1. The user opens the file in Excel (NVDA running with add-ons disabled), in a cell press applications key, after press f (shortcut in Spanish for fount) and enter. The dialog is the same, and the problem also is the same. What is a possible solution? Developers, do you can check it?
Regards.

@Qchristensen
Copy link
Member Author

It seems to be to do with the text being selected. As you tab to a new edit field, or use the up and down arrow keys to change, eg font name, the new option is selected. The selected text does not seem to be exposed. As soon as you deselect text, it is able to read the contents of the current edit.

@Qchristensen
Copy link
Member Author

A bit more info I recieved on this one:
"Using Accessibility Insights (or Inspect) I can see why there is a difference in behavior when text is selected versus not:

Tabbing between the controls puts focus on the Edit control that has a Value matching the selected text
Clicking between the controls puts focus on the pane that has a Name matching the unselected text

So it seems NVDA is not reading the value of the edit control when it gets focus (or changes), but it is reading the name of the pane when it gets focus. Though NVDA mouse hover is reading both the control name and contents regardless of selection. And surprisingly, Narrator is reading both, so it seems to be something unique to NVDA focus presentation."

@britechguy
Copy link

This behavior is also present if you open the font dialog for a cell using CTRL+SHIFT+F. I'm being told the values are blank when they definitely are not blank for font and style, I stopped checking after that.

Using the NVDA+f command is giving me "No caret." This is under 2020.3, installed.

@Adriani90
Copy link
Collaborator

cc: @lukaszgo1, @CyrilleB79

@lukaszgo1
Copy link
Contributor

The "no caret" issue would be fixed when #11914 would be merged. As to not reporting content of edit fields in format cell dialog I cannot reproduce in Excel 2010 so it is probably unique to 2016 and later.

@britechguy
Copy link

If you'd like for me to check what happens in Excel 2013 I can do so since I happen to have a machine with Office 2013 installed at the moment.

While it's interesting and useful to know what does and doesn't work in versions of Office prior to 2016, it's 2016 and later that really matter at the moment, since 2016 serves as the code base for 2019 and 365 successors.

@Qchristensen
Copy link
Member Author

This is still an issue in Office 365 and seems to affect any dialog with selectable / editable text, eg the Define name dialog (context menu then a). This is being reported as a primary reason why at least one organisation is not using NVDA.

@ivnc
Copy link
Contributor

ivnc commented Nov 19, 2021

Yes, it seems a general issue with most editable fields in dialogs. In our case, reporter works at a public body and asks us with every NVDA release for the evolution of this issue, it would be great to have news soon.

Thanks.

@Qchristensen
Copy link
Member Author

Just a quick note, this is still reproduceable with:

NVDA 2021.3.1

Windows 10 (64-bit) Version: 21H2 (2009), Build: 19044.1466

Office 365 (64-bit) Version: 16.0.14729.20254

Also, whether NVDA set to use UIA in Excel or not seems to make no difference.

@ivnc
Copy link
Contributor

ivnc commented Apr 18, 2023

Hello, are there any news on this? Apparently it is still reproducible. Thanks!

@ABuffEr
Copy link
Contributor

ABuffEr commented Apr 18, 2023

Hi,
if it can help, I noticed that moving with navigator object on these fields returns the correct object, with name/accName e.g. "Character type" (I'm translating) and value/accValue "Calibri"; moving with tab, instead, returns an object with name "Character Type", value None, accName "Calibri" and accValue None.
So fix could be quite simple, at least in the static situation (no idea when changing the value), but I don't know whether the other object info are sufficient to catch it in an unique way...

@Adriani90
Copy link
Collaborator

It seems there are two control fields for each of these. An edit field where you can enter / choose the style, font size, etc., and a list which is next to the edit field and which shows the actual value which has been chosen. It seems NVDA only tracks the edit field when navigating, but the actual accessible value should be taken from the list next to the edit field. You can check this by using object navigation.
cc: @michaelDCurran

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

9 participants