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

Excel column/row headers are not displayed in braille #6901

Open
dkager opened this issue Feb 20, 2017 · 19 comments
Open

Excel column/row headers are not displayed in braille #6901

dkager opened this issue Feb 20, 2017 · 19 comments
Labels
component/braille p4 https://github.com/nvaccess/nvda/blob/master/projectDocs/issues/triage.md#priority triaged Has been triaged, issue is waiting for implementation.

Comments

@dkager
Copy link
Collaborator

dkager commented Feb 20, 2017

At least in Excel 2016 and 2013.

STR:

  • Open an empty sheet.
  • Type 'Foo' in A1 and 'Bar' in B1.
  • Select A1 through B2.
  • Press Ctrl+L to create a new table and check the box to indicate the table contains headers.
  • Go to B1. The header text is not displayed.
  • Go to A1 and press NVDA+Shift+C to mark the start of the headers.
  • Go back to B1. The header is still not displayed.
@dkager
Copy link
Collaborator Author

dkager commented May 26, 2017

CC @jcsteh

@jcsteh
Copy link
Contributor

jcsteh commented May 26, 2017

  • Go to A1 and press NVDA+Shift+C to mark the start of the headers.
  • Go back to B1. The header is still not displayed.

NVDA+shift+c sets the column header; i.e. doing this in A1 sets the headers for A2, A3, etc. So, I wouldn't expect B1 to show the header in this case. However, it's also not shown for A2, so the bug is still valid.

Corrected STR:

  1. Open a new sheet in Excel.
  2. Type 'Foo' in A1 and 'Bar' in A2.
  3. Move to A1 and press NVDA+shift+c to set it as a column header.
  4. Move to B2.
  5. Move back to B1.
    • Expected: 'foo' should be shown in braille as the column header, along with the value 'bar'.
    • Actual: Only the value 'bar' is shown.

@jcsteh
Copy link
Contributor

jcsteh commented May 26, 2017

This is addressed by/a duplicate of #4195. In speech, we only report the headers when you first move into that row/column. We don't conditionally report things like that for braille. However, that means you'll keep seeing the row and column headers repeated every time you move to a new cell. I'd appreciate thoughts on UX here from you constant braille users. :)

@dkager
Copy link
Collaborator Author

dkager commented May 26, 2017

Hah, I actually meant A2, but the matrix got me. :)

@dkager
Copy link
Collaborator Author

dkager commented May 27, 2017

However, that means you'll keep seeing the row and column headers repeated every time you move to a new cell.

This returns us to #217. IMO it's better to see the column/row headers for every cell (as is done in Word and in browse mode) instead of not seeing them at all. My use case is something like a budget sheet with 20+ columns. You don't need all of them at the same time, but remembering that many is still a memory burdon.
But as with general focus mode, a more sophisticated solution would be nice. Still, in the way I use Excel (which is obviously subjective) I would prefer all over none.

@LeonarddeR
Copy link
Collaborator

LeonarddeR commented May 27, 2017 via email

@jcsteh
Copy link
Contributor

jcsteh commented May 28, 2017 via email

@dkager
Copy link
Collaborator Author

dkager commented May 28, 2017

So in Excel you see this if you type 'bar' in A2:

Book1 - Excel Sheet1 tb bar A2

I agree it's not as easy to find a good spot to insert row/column headers as it is in Word, mostly because the A2 contains both row and column indices. I also understand the technical limitations, thhough as an end-user that won't stop me from requesting stuff like this. :)

So my (subjective) stance on this is that the column/row headers are useful even in braille. But in the current output there is no logical place to put that info. We could consider:

Book1 - Excel Sheet1 c1 Foo r2 bar A2

This is super verbose and redundant, and may again result in technical difficulties. But I can't do better right now.

@feerrenrut
Copy link
Contributor

Presumably the braille output of this could be tied to the "report table headers" setting in the document formatting dialog. This would allow those that don't want this extra verbosity to be able to turn it off.

@LeonarddeR
Copy link
Collaborator

@jcsteh commented:

unless you're suggesting the headers should be presented before all other info in the cell, including the coordinates, in which case maybe we could do something interesting with scrolling.

That seems to be the most logical way to do this.

How about the following implementation:

  1. Create a new region class called TableCellRegion which subclasses NVDAObjectRegion
  2. For this new subclass, add a property which contains the start position of the actual cell content in L{rawText}. From that property, we also have the position in L{brailleCells}
  3. Change BrailleBuffer._set_windowEndPos in a way that always shows the cell content on the display, similar to focus objects

After reading this, you will probably understand why I came up with #217 here. We can do hard left for cells, which requires to always scroll back to see the column and row header.

@dkager commented:

Book1 - Excel Sheet1 c1 Foo r2 bar A2
This is super verbose and redundant, and may again result in technical difficulties. But I can't do better right now.

This is verbose, but it is valid and I think we should go for this one

@LeonarddeR
Copy link
Collaborator

  1. Create a new region class called TableCellRegion which subclasses NVDAObjectRegion

Coming back to this, this seems to be overkill just for one property. I guess we can extend NVDAObjectRegion for this

@LeonarddeR
Copy link
Collaborator

@dkager suggested:

Book1 - Excel Sheet1 c1 Foo r2 bar A2

After thinking about this a little more, the problem I see with this is that there is duplicate info in it, i.e. c1 r2 reflects cell A2.

Also, A2 in this example doesn't have cell contents. I'd like the cell contents after the coordinates, thus, Alternative suggestion:

Book1 - Excel Sheet1 c Foo r bar A2 thisIsACell

@Adriani90
Copy link
Collaborator

Wow this will be really tricky to implement in my opinion because of the limited space on a braille display. But definitely useful especially with regular braile users.
One suggestion for implementation from my side:
Is it possible to add a key stroke in NVDA'sexcel app module to report row or column header on demand? In this case we could emulate that key stroke on a braille display and we would not need to have it displayed on it every time when mooving around.

@dkager
Copy link
Collaborator Author

dkager commented Apr 1, 2019

I think the suggestion for an NVDA command to show row/column headers in braille should also be considered for Word, where pretty much the same problem exists with space on a braille display.

@ruifontes
Copy link
Contributor

One way is placing that information before the cell content...
That way, using the "Focus context presentation" set to "Only when scrolling back" it is easily accessible and it will not occupe space in the Braille display...

@Adriani90
Copy link
Collaborator

Adriani90 commented Apr 1, 2019 via email

@ruifontes
Copy link
Contributor

ruifontes commented Apr 1, 2019 via email

@MarioBatusic
Copy link

I'm a constant braille-only user (means,I switch the speech output seldom, only for testing). So, especially in tables with many columns I would very much appriciate having all headers in Braille. And that is no problem to have them for every cell - like it is in Microsoft Office Word.

@michaelDCurran
Copy link
Member

Can someone please summarize the most up to date proposed solution here?

@michaelDCurran michaelDCurran added p4 https://github.com/nvaccess/nvda/blob/master/projectDocs/issues/triage.md#priority triaged Has been triaged, issue is waiting for implementation. labels Oct 4, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component/braille 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.

10 participants