Excel: automatic column/row header reading should be limited to current region #3568

Closed
nvaccessAuto opened this Issue Oct 9, 2013 · 10 comments

2 participants

@nvaccessAuto

Reported by mdcurran on 2013-10-09 06:01
Currently NVDA announces headers on a cell when that cell is anywhere below (for a column) or to the right (for a row), even if the cell is in a different region. It should be limited to the current region as its very common to have multiple forms of data in the same sheet.

@nvaccessAuto

Comment 1 by jteh on 2014-05-01 01:01
Changes:
Milestone changed from next to None

@nvaccessAuto

Comment 2 by mdcurran on 2014-06-05 03:47
We will change it so that you must set column / row reading when on the top left cell, rather than anywhere along that row or column. I.e. The top most row header, and the left most column header. We will store column headers as (row,column) and row headers as (column,row). Boht of these lists will be stored in ascending order. Code will find the last entry in the list that is top left of the current cell. It will then calculate the correct header coordinates based on the current cell. It will finally validate the region by fetching a real cell for that header, and using application.intrsect(currentCell,headerCell.currentRegion). It will only use the header if this does not return None.
Eventually, we will be able to also import date from defined names (title, columnTitle,rowTitle etc) which some authors use to instruct Jaws to read crtain headers. But this should be a separate ticket.

@nvaccessAuto

Comment 3 by Michael Curran <mick@... on 2014-06-08 04:18
In [1813d27]:
```CommitTicketReference repository="" revision="1813d2703025d5aa33ca773afefb55a1fd8a7746"
Merge branch 't3568' into next. Incubates #3568

Changes:
Added labels: incubating
@nvaccessAuto

Comment 4 by Michael Curran <mick@... on 2014-06-09 06:45
In [96edaee]:
```CommitTicketReference repository="" revision="96edaee00e8577f88c10955766474d5cbf4d6c9f"
Merge branch 't3568' into next. Incubates #3568

@nvaccessAuto

Comment 5 by surveyor on 2014-06-10 13:16
NVDA version next-10695,6264649
NVDA doesn't read the content and coordinates of the cells under the cell set as colomn or raw heather and gives error sounds.

Peace of log is below:
Speaking G1'
IO - inputCore.InputManager.executeGesture (16:10:40):
Input: kb(laptop):downArrow
ERROR - eventHandler.executeEvent (16:10:40):
error executing event: gainFocus on with extra args of {}
Traceback (most recent call last):
File "eventHandler.pyc", line 143, in executeEvent
File "eventHandler.pyc", line 91, in init
File "eventHandler.pyc", line 98, in next
File "NVDAObjects__init__.pyc", line 845, in event_gainFocus
File "NVDAObjects__init__.pyc", line 789, in reportFocus
File "speech.pyc", line 320, in speakObject
File "speech.pyc", line 238, in speakObjectProperties
File "baseObject.pyc", line 34, in get
File "baseObject.pyc", line 110, in _getPropertyViaCache
File "NVDAObjects\window\excel.pyc", line 340, in _get_columnHeaderText
File "NVDAObjects\window\excel.pyc", line 220, in fetchAssociatedHeaderCellText
File "comtypes\client\lazybind.pyc", line 163, in caller
File "comtypes\automation.pyc", line 664, in _invoke
COMError: (-2146827284, None, (u'This command is not available when Excel is sandboxed.', u'Microsoft Excel', u'xlmain11.chm', 0, None))
IO - inputCore.InputManager.executeGesture (16:10:40):
Input: kb(laptop):upArrow
IO - speech.speak (16:10:40):
Speaking G1'

@nvaccessAuto

Comment 6 by surveyor on 2014-06-10 13:25
I've just discovered it is because of protected worksheet. Problem disappeared after enabling editting.

@nvaccessAuto

Comment 7 by Michael Curran <mick@... on 2014-06-10 16:40
In [6459346]:
```CommitTicketReference repository="" revision="6459346748673814546a592c09f8df899eac660c"
Merge branch 't3568' into next. Incubates #3568

@nvaccessAuto

Comment 8 by Michael Curran <mick@... on 2014-06-26 07:11
In [46e7126]:
```CommitTicketReference repository="" revision="46e712632ec79d276f70f972fdf2fe996f951144"
Merge branch 't3568'. Fixes #3568

Changes:
Removed labels: incubating
State: closed
@nvaccessAuto

Comment 9 by mdcurran on 2014-06-26 07:13
Changes:
Milestone changed from None to 2014.3

@nvaccessAuto

Comment 10 by ajirving on 2014-10-19 21:24
A consequence of this fix is that headings are now not read if there is a blank row/column in the sheet, as Excel treats this as a new region.

For example: write some headers in row one, and do NVDA+shift+c in A1. Then start entering data in row 3, leaving row 2 blank. NVDA doesn't read the headings when you're in row 3 or below.

Is there any way that this could be fixed? For example, could we have a toggle which determines whether headings are constrained to the current region?

@nvaccessAuto nvaccessAuto added the bug label Nov 10, 2015
@nvaccessAuto nvaccessAuto added this to the 2014.3 milestone Nov 10, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment