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

Add support for reporting row and column headers in contenteditable HTML elements. #14113

Closed
msftedad opened this issue Sep 7, 2022 · 5 comments · Fixed by #15977
Closed
Labels
feature p4 https://github.com/nvaccess/nvda/blob/master/projectDocs/issues/triage.md#priority triaged Has been triaged, issue is waiting for implementation.
Milestone

Comments

@msftedad
Copy link

msftedad commented Sep 7, 2022

Steps to reproduce:

Repro Steps:

  1. Open the URL: https://ckeditor.com/ckeditor-4/demo/
  2. Turn on NVDA.
  3. Turn on NVDA Focus mode.
  4. Add a new table and add column headers for the table
  5. Now using ctrl + alt + arrow keys to navigate from one cell to another
  6. Verify whether NVDA is announcing column headers or not.

Code pen for minimal sample: https://codepen.io/testaccount01/pen/rNvxdwJ

Actual behavior (Speech Viewer):-

For 1st table: -
row 2
column 1
row 1 a
row 2
row 3
column 2
column 2 b
column 1
row 3
column 2

For 2nd Table (Speech Viewer) :-
column 2 H2
column 1 H1
row 2 R1
column 2
column 3
row 1 H3
row 2
row 3
column 2
row 1 H3

NVDA is not announcing row or column headers.
-->

Expected behavior:

NVDA should announce row or column headers when we navigate from one cell to another cell. When it is going to the new cell it should announce the column headers of the new cell.

NVDA logs, crash dumps and other attachments:

[2137516_NVDA is not announcing headers as headers in table in CKEditor demo (1).zip](https://microsoftapc-my.sharepoint.com/:u:/g/personal/v-deenthakur_microsoft_com/EaKv3yxacN1MmmAJ7Wui7DEBIrBRE87w_QnNbzrbUP3kGQ?e=AddeMk)

System configuration

NVDA installed/portable/running from source:

Installed

NVDA version:

NVDA Version 2022.2

Windows version:

Windows 11 Version 10.0.22000 Build 22000

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

Microsoft Edge Version 105.0.1343.27 (Official build) (64-bit)

Other information about your system:

N/A

Other questions

N/A

Does the issue still occur after restarting your computer?

Yes

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

No

If NVDA add-ons are disabled, is your problem still occurring?

Yes

Does the issue still occur after you run the COM Registration Fixing Tool in NVDA's tools menu?

Yes

@seanbudd

This comment was marked as resolved.

@seanbudd seanbudd closed this as not planned Won't fix, can't repro, duplicate, stale Sep 8, 2022
@seanbudd seanbudd added blocked/needs-info The issue can not be progressed until more information is provided. blocked/needs-sample labels Sep 8, 2022
@msftedad

This comment was marked as resolved.

@seanbudd seanbudd reopened this Sep 9, 2022
@seanbudd seanbudd removed blocked/needs-info The issue can not be progressed until more information is provided. blocked/needs-sample labels Sep 9, 2022
@feerrenrut feerrenrut changed the title NVDA does not announce row or column headers. Add support for reporting row and column headers in contenteditable HTML elements. Sep 15, 2022
@feerrenrut
Copy link
Contributor

This is a missing feature in NVDA and would be considered an important and valuable addition.

@feerrenrut feerrenrut added p4 https://github.com/nvaccess/nvda/blob/master/projectDocs/issues/triage.md#priority feature triaged Has been triaged, issue is waiting for implementation. labels Sep 15, 2022
@Adriani90
Copy link
Collaborator

Note that for example Microsoft 365 Word online is basically built on such contentEditable structures, so solving thin in NVDA would also improve probably alot the experience in Word Online.

@michaelDCurran
Copy link
Member

For anyone implementing this, take a look at the _getControlFieldForObject method on class CompoundTextInfo in compoundDocuments.py.
It should be a simple as filling in table-rowheadertext and table-columnheadertext attributes using values of obj.rowHeaderText and obj.columnHeaderText respectively.
Here is a very simple test_contenteditable_table.html.txt. Make sure to switch to focus mode, and use control+alt+arrow keys to move around the table.
It is expected that NvDA would report the appropriate day column header and time row header when moving between the cells in this calendar.

SaschaCowley added a commit to SaschaCowley/nvda that referenced this issue Dec 28, 2023
SaschaCowley added a commit that referenced this issue Feb 7, 2024
Fixes #14113 

Summary of the issue:
When navigating tables in contenteditable HTML elements in focus mode, table row and column headers are not reported.

Description of user facing changes
Table row and column headers are now reported when navigating tables in contenteditable HTML elements in focus mode.

Description of development approach
Added appropriate fields to the `TextInfos.ControlField` returned by `CompoundTextInfo._getControlFieldForObject`. Also added special case handling for Chromium, which erroneously reports heder cells as being their own headers.
@nvaccessAuto nvaccessAuto added this to the 2024.2 milestone Feb 7, 2024
Nael-Sayegh pushed a commit to Nael-Sayegh/nvda that referenced this issue Feb 15, 2024
Fixes nvaccess#14113 

Summary of the issue:
When navigating tables in contenteditable HTML elements in focus mode, table row and column headers are not reported.

Description of user facing changes
Table row and column headers are now reported when navigating tables in contenteditable HTML elements in focus mode.

Description of development approach
Added appropriate fields to the `TextInfos.ControlField` returned by `CompoundTextInfo._getControlFieldForObject`. Also added special case handling for Chromium, which erroneously reports heder cells as being their own headers.
Adriani90 pushed a commit to Adriani90/nvda that referenced this issue Mar 13, 2024
Fixes nvaccess#14113 

Summary of the issue:
When navigating tables in contenteditable HTML elements in focus mode, table row and column headers are not reported.

Description of user facing changes
Table row and column headers are now reported when navigating tables in contenteditable HTML elements in focus mode.

Description of development approach
Added appropriate fields to the `TextInfos.ControlField` returned by `CompoundTextInfo._getControlFieldForObject`. Also added special case handling for Chromium, which erroneously reports heder cells as being their own headers.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature p4 https://github.com/nvaccess/nvda/blob/master/projectDocs/issues/triage.md#priority triaged Has been triaged, issue is waiting for implementation.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants