Re: requesting review of the SPRITEs Table Navigation for Chrome addon


Rui Fontes
 

Hi Venkatesh!


1 - After removing SPRITES and restarting NVDA the following informations were not removed from nvda.ini:

[sprites]
    spritesID = 0
    searchID = 0
    logID = 0
    userID = f2014c8c-c881-11eb-9097-b808cf3aee32
    logPath = C:\Users\Utilizador\AppData\Roaming\nvda\sprites
    logStart = 2021-06-08
    firstUse = 1


The last line was added by me before checking it was a boolean value...


2 - After installation, the firstUse error is still present.

But is slightly different... Nothing was wrote on nvda.ini!


3 - The SPRITEs initial screen with info about logging, for me, should have a Ok or Close button...


4 - Setting firstUse to True, the welcome screen is shown.

Is not changed firstUse parameter from True to False.


5 - The log folder and log file are created but they are not used, supposedelly due to the next error...


6 - Important NVDA log fragments refering to SPRITEs

After changing to a Chrome window:

DEBUGWARNING - Python warning (11:13:43.369) - MainThread (5624):
C:\Users\Utilizador\AppData\Roaming\nvda\addons\sprites-nvda\appModules\chrome\__init__.py:30: DeprecationWarning: invalid escape sequence \s
  path = os.path.join(os.environ['APPDATA'], 'nvda\sprites')
DEBUGWARNING - Python warning (11:13:43.389) - MainThread (5624):
C:\Users\Utilizador\AppData\Roaming\nvda\addons\sprites-nvda\appModules\chrome\logHelper.py:13: DeprecationWarning: invalid escape sequence \l
  self.logFileName = self.path + '\log.txt'


Fragment refering the firstUse error:

error in appModule 'chrome'
Traceback (most recent call last):
  File "appModuleHandler.pyc", line 172, in fetchAppModule
  File "C:\Users\Utilizador\AppData\Roaming\nvda\addons\sprites-nvda\appModules\chrome\__init__.py", line 74, in __init__
    if config.conf['sprites']['firstUse'] == 'True':
  File "config\__init__.pyc", line 932, in __getitem__
KeyError: 'firstUse'


7 - Regarding:

• Braille display and row commands announcement.
Thank you for pointing this out Joseph. We changed the string to use the , character, and have spaces. Could you help us identify if this fixes the issue?


The statement:

We changed the string to use the , character, and have spaces.

is not true. You have changed to use ' comma ' and it was not the intended...


The line 239 is:

        rowCombo = ' comma '.join(mappedRowRange)

and should be:

        rowCombo = ', '.join(mappedRowRange)


8 - • Supporting different keyboard layouts.
The suggestion of Cyrille to allow translators to define the keys and its names is the better!


9 - • Retaining functionality of tab, alt-F4, etc.

If you have the following in the __init__.py:

    def event_appModule_loseFocus(self):
        '''
        Set inputCore to use default captureFunc if not focus on chrome
        '''
        self.toggleSpritesGesture(False)
        self.removeHooks()

    def event_appModule_gainFocus(self):
        '''
        Determine which captureFunc to use when focus back on chrome
        '''
        if self.spritesMode:
            self.toggleSpritesGesture(True)
        self.injectHooks()

it is not enough to avoid any problem with the SPRITEs commands scheme?


10 - • We were unclear about the comments related to braille display keys working and the cell announcements being problematic.

The Braille displays can have keys to gave commands to the screen reader and they keep working as advised even with the SPRITEs loaded...

By instance, I am in a table and activate SPRITEs mode.

If I press Tab in the PC keyboard I will move to second line.

If I press a Braille display key to go to next line, it works as advised avoiding the SPRITEs disabling of other commands.


By now, it is all...


Rui Fontes



Às 01:33 de 09/06/2021, Venkatesh Potluri escreveu:

Hi Joseph and Rui,


Thank you for reviewing our addon and providing feedback. We would like to address the feedback we received so far.

  • User experience feedback from Joseph and error reported by Rui.

We now have a new release on github (tagged v0.9.1-beta) that should fix the chrome announcement issue. We apologize about the confusion regarding the compatibility with NVDA 2021.1. This should address the announcement issue Joseph was talking about, and the error Rui was talking about. Since the previous error was related to first-time use, we request you to uninstall the addon, re-start NVDA and install the new addon. Rui, please let us know if you still get an error with Sprites on chrome. We request you to send us the log file that Sprites generates to help us understand the issue if it still persists (instructions in this issue template).

  • Retaining functionality of tab, alt-F4, etc.

Since sprites mode changes how keyboard interactions work, we made a design decision to prevent the user from switching away from the page on Chrome that they activated Sprites mode on to prevent confusion. The user can exit Sprites mode by pressing Escape, restoring NVDA’s default behavior and functionality, at which point they can switch windows using alt-tab or exit by pressing alt-f4.

  • We were unclear about the comments related to braille display keys working and the cell announcements being problematic. More context would help us address the comment as I do not use a braille display and we do not have access to one to test.

  • Supporting different keyboard layouts.

By keys eleven and 12, were you referring to the - (dash) and =(equals) keys? Could you clarify the keyboard layout that you are using? This perhaps can be addressed to some degree if we are able to have this information. We recognize that we are unable to support all keyboard layouts at this point. We will need to explore feasibility to expand layouts that we can support in the future. We can clarify this limitation in the documentation for now.

  • Braille display and row commands announcement.

Thank you for pointing this out Joseph. We changed the string to use the , character, and have spaces. Could you help us identify if this fixes the issue?

  • Supporting UIA.

Thank you for the advice. We will add this to our roadmap and ensure support for UIA in an update to this addon once it is released. We became aware of NVDA’s UIA support recently so were unable to support it in this release.

  • Supporting Chromium based browsers like edge.

Yes. We considered this, but decided to restrict to Chrome to reduce technical complexity as this is a very new interaction technique, and this is the first time we were building an NVDA addon.

Look forward to hear from you.
Best, Venkatesh

Join nvda-addons@nvda-addons.groups.io to automatically receive all group messages.