Working with a screen reader [added to our list]

MarcoZ
MarcoZ
Community Member
edited April 2023 in 1Password 7 for Windows

Hi there!

Just started testing the beta. Using Windows 10 and the free and open source NVDA screen reader from http://www.nvda-project.org.

First things first: It is not totally inaccessible, but needs quite some polish. I was able to sign into my family account (that window talked actually very well).

Initial observations about the 2016.2.1500 beta:

  1. All list items need a proper label so they get spoken correctly when tabbing and making choices with the arrow keys. For example, a random list item in the main window looks as follows:

Developer info for navigator object:
name: u'AgileBits.OnePassword.ObjectModel.TeamVaultItem'
role: ROLE_LISTITEM
states: STATE_FOCUSABLE, STATE_SELECTABLE, STATE_READONLY, STATE_SELECTED
isFocusable: True
hasFocus: 0
Python object: <NVDAObjects.UIA.ListItem object at 0x050EDC90>
Python class mro: (, , , , , , )
description: u''
location: (730, 614, 738, 92)
value: None
appModule: <'appModuleHandler' (appName u'agilebits.onepassword', process ID 1268) at address 33a3590>
appModule.productName: u'AgileBits.OnePassword'
appModule.productVersion: u'1.0.0.0'
TextInfo:
windowHandle: 66690
windowClassName: u'Windows.UI.Core.CoreWindow'
windowControlID: 0
windowStyle: 1409286144
windowThreadID: 4140
windowText: u'1Password Beta'
displayText: u''
UIAElement: <POINTER(IUIAutomationElement) ptr=0xb7e76e8 at 5192530>
UIA automationID:
UIA frameworkID: XAML
UIA runtimeID: (42, 66690, 2, 108)
UIA providerDescription: [pid:1268,hwnd:0x0 Main(parent link):Unidentified Provider (unmanaged:Windows.UI.Xaml.dll)]
UIA className: ListViewItem

What NVDA wants to speak as "name" is the primary source of information for what an element is or does. A label on a button, a label for a text field etc. This needs to be what the child text is comprised of, e. g. a label has to be created for each list item that will then be spoken immediately.

  1. Many of the buttons in the main window are missing accessibility labels. Some, like the Settings button, do have labels, others, near the top and the search field, do not.
  2. The tab order needs to be checked if it is logical. Because I do not know what each item does, I cannot say whether it actually is logical at the moment, since I cannot see the screen (I'm blind).
  3. Windows such as About or Options cannot be closed with the keyboard. Escape, Ctrl+F4 or such should be possible. Or I suggest to use OK and Cancel buttons.

All of these are sweeping comments that apply to multiple places in the app. Once these general accessibility issues are ironed out, it is possible to better look at detailed problems in single circumstances.

Again: Hope is good for 1Password to become fully accessible. The foundation is there, there just need to be some things done to make it work even smoother. All of this applies to the Phone Edition, too, btw.

I suggest to look at the big Modern Windows App code sample package available on MSDN, which has an Accessibility (or UI Automation) folder that has lots of sample code for various situations, from labeling simple buttons to list items to making even really complex components accessible.

Looking forward to changes that may come in the future! 1Password for Windows 10 looks promising for visually impaired users and those of other users in need of assistive technologies.

Keep up the good work!


1Password Version: 2016.2.1500
Extension Version: Not Provided
OS Version: Windows 10
Sync Type: Family

Comments

  • @MarcoZ thanks for bringing up accessibility topic, it is true that we need to take more care of it. Tab order, proper labels for every item, keyboard only mode - all of this should be taken care of. Good thing is that this is universal app, once we iron issues out it will be fixed for both desktop and phone.

    I can not promise that to come with the next release, we are fixing database stability and performance at the moment, but I can promise we will try and improve accessibility soon. Meanwhile you may want to experiment a bit with our secret tool - type /iddqd in the search box and press ENTER, you will find ways to add button to spell passwords and other things that might help you a bit.

    As for options/about/help pages - the only way to go back is through system's back button which is located at the top left corner of the window (easier on phones or in tablet mode, when system back button is visible and large). We will look into adding some keys to navigate back (most likely alt+left and mouse back button just like browsers do).

    Thanks again for talking about accessibility, please keep an eye on the updates and provide more feedback!

  • MarcoZ
    MarcoZ
    Community Member

    @SergeyTheAgile: Thank you for your prompt reply! I will experiment with the options you provided! I will also see if I can find how the universal Back button is activated using the keyboard and see if that already works. If it does, no need to add anything extra.

    Marco

  • @MarcoZ I've tried with most expected alt+left and backspace buttons, but they doesn't work. I guess we just need to add it :)

  • MarcoZ
    MarcoZ
    Community Member

    @SergeyTheAgile: Yeah Alt+LeftArrow is the key according to the Windows 10 keyboard shortcut list. No doubt you'll find on MSDN how to make sure the Back Button works correctly. :-)

  • MarcoZ
    MarcoZ
    Community Member

    For completeness: Here's the page where Microsoft provides all there is to know about accessibility in modern Windows apps.

  • DBrown
    DBrown
    1Password Alumni

    @MarcoZ, thank you SO MUCH for providing this feedback and especially for backing it up with so much helpful information!

    We do love our fellow 1Password users. <3

  • Ordan77
    Ordan77
    Community Member

    @SergeyTheAgile OK, so +1,000 geek points to you guys for that hidden function access code :smile:

    And, even better, great job including a Dark Theme - for a lot of folk with visual impairments who don't use screen readers for whatever reason (for me it's because they suck in Visual Studio when writing reams of C# all day), having a Dark Theme is a huge help. I hope once it's finalised, it'll become a mainstream option rather than one tucked away behind the scenes :smile:

  • DBrown
    DBrown
    1Password Alumni

    Thanks for the feedback, @Ordan77!

    I'm glad to hear the Dark Theme is helpful to you.

  • MarcoZ
    MarcoZ
    Community Member

    After a while, I took another look at the current betas for Windows 10 Universal and the new Windows Desktop version. The pain points I still see mostly are with list items. They still have a "label" of agilebits.1password. or similar things. And only their children are text or graphics. But those children are usually not picked up by screen readers automatically. You notice this mostly when tabbing through the main window and navigating lists up and down with the arrow keys. Listen to what NVDA tells you about each list item, the information is not much help. :-(

    Other areas where I see this is in some of the combo dropdowns in Settings, but not all of them, funny enough.

    There were some good improvements to labeling text fields and buttons. So progress is definitely noticeable!

    Keep up the good work!

    Marco

  • Hi @MarcoZ,

    Huge thanks, we always love hearing your feedback and to know that we're on the right track. We just now shipped an update to the desktop version where it will label the left sidebar correctly but there's a tiny bug where it will repeat 1Password Beta Window each time you select a category on the sidebar, this isn't the labeling issue but rather we have a focusing issue as soon as you select a category.

    Could you give it a try when you have a free moment and let us know if that works better. You can simply restart the desktop app to get the latest update.

    The label agilebits.1password. issue you mentioned, that is something we're working on fixing. This is in the item details view and we're overhauling the details view as well as the item editor. This same view is also the one that doesn't really have a great tabbing experience at the moment and it does cause chaos with the screen readers. We are hoping that this one major update will resolve a lot of these issues.

  • MarcoZ
    MarcoZ
    Community Member

    Hi @MikeT !

    Wow, thanks for the quick turn-around! I just installed the new beta, and it looks much better indeed in the side bar and the item chooser. As you said, the details panel for the selected item is still a mess in this beta.

    Here are two more observations:

    1. In the side bar, the items such as "All" and "Favorites" and others are in two groups. Each of these groups has the following "label":

    name: u'AgileBits.OnePassword.ObjectModel.NavGroup'
    role: ROLE_GROUPING

    If these are a visual indication of some sort, like the Explorer tree view where it says things like "Frequently used" etc., you should give those groupings labels, too. That will make them talk better.

    1. Same in the item chooser. I think these groupings are the headings like "#", "A", etc., but they currently read as

    name: u'AgileBits.OnePassword.ObjectModel.SmallItemsGroup'
    role: ROLE_GROUPING

    If those got the proper labels, too, those two lists would read perfect.

    BTW I'm not even seeing the focus issue you're seeing. NVDA does not repeat the "1Password Beta" title for me.

    HTH!

    Marco

  • Good news, we've just shipped another update to fix that focusing issue and it should be working great now with the sidebar/item list selection.

  • Hi @MarcoZ,

    Could you restart the desktop app again, we've shipped two more updates with fixes related to groupings and we're hoping that'll fix your issue. Please let us know.

    BTW I'm not even seeing the focus issue you're seeing. NVDA does not repeat the "1Password Beta" title for me.

    That's because you got the second update we shipped right away. :smile:

    If those got the proper labels, too, those two lists would read perfect.

    Thanks, for some reason, Narrator isn't labeling them for us, which is why we've missed them. We are testing with Narrator for the moment and will re-test soon with NVDA to see if we've missed anything else.

  • MarcoZ
    MarcoZ
    Community Member

    @MikeT ,

    thanks, got the updates, and now those two lists talk properly! Yay! :-)

    Thanks, for some reason, Narrator isn't labeling them for us, which is why we've missed them. We are testing with Narrator for the moment and will re-test soon with NVDA to see if we've missed anything else.

    Yes, NVDA is more sophisticated in reporting these things. Microsoft is slowly catching up to standards of other screen readers slowly, but it still misses some sophistication in these areas. :-)

    Marco

  • Hi @MarcoZ,

    thanks, got the updates, and now those two lists talk properly! Yay! :-)

    YES! Woohoo, thank you for your help here.

    Yes, NVDA is more sophisticated in reporting these things. Microsoft is slowly catching up to standards of other screen readers slowly, but it still misses some sophistication in these areas. :-)

    Thanks, we'll keep that in mind. We use it first because it is lightweight and quick to test our changes and as you saw today, we like making changes quickly. We'll do a full test soon with NVDA, JAWs and any others we have on our list. We'd appreciate any other tips you have for us.

  • MarcoZ
    MarcoZ
    Community Member

    Like I said earlier, the comboboxes in the Settings screen need some love, and in the Advanced screens as well. The checkboxes there are not labeled, for example.

    Those are the things I found while tinkering with the builds a bit. Note that I use it only with a 1Password account, so no dropbox or OneDrive sync, so don't know what those screens sound like.

  • Hi @MarcoZ,

    Thanks, I've filed a bug report to get these fixed.

  • MarcoZ
    MarcoZ
    Community Member

    Thanks @MikeT! Umm, you do know that it's Sunday, right? ;-)

    Marco

  • Hi @MarcoZ,

    We're on a mission to build the best 1Password app on Windows, there are no days off for us until we make that happen. :smile:

    Mon-Tue are my days off, Serg doesn't know how to take days off and yea, we're going to need a vacation once we get this out. :sarcastic:

  • And the German dude you know from Twitter obeys the standard German Monday to Friday work times :)

    So great to get your feedback here, @MarcoZ!

    Cheers,

    Alex

  • ntimo
    ntimo
    Community Member

    @AlexHoffmann you have twitter :dizzy:

  • MarcoZ
    MarcoZ
    Community Member

    @AlexHoffmann Hi! It's my pleasure! And I want to be able to use it myself.

  • @ntimo, I do :)

    @MarcoZ That's the best reason :-)

  • MarcoZ
    MarcoZ
    Community Member

    Hi folks!

    A quick heads-up question to find out when the item details accessibility will be tackled. Right now in the latest desktop beta, the items still show as '{ Section = AgileBits.OnePassword.ObjectModel.Section, Field = AgileBits.OnePassword.ObjectModel.TextField }' for screen readers. Furthermore, fields such an e-mail address have a text node with the label "e-mail", an unknown, with a document as its child, and a linked e-mail address underneath. Other list item children differ depending on the content they're displaying.

    Marco

  • Hi @MarcoZ,

    We don't have a timeframe on when the overhaul will be completed, we have started shipping internal changes in recent updates but the external changes are still yet to come.

    I will ping you here as soon as that's done, so we can work together on this if you'd like.

  • MarcoZ
    MarcoZ
    Community Member

    Hi @MikeT,

    I'd like that! Please do! :-) Thank you!

    Marco

  • You're welcome. Enjoy your weekend!

  • Hi @MarcoZ,

    We've just started to ship the first parts of the viewer overhaul in the latest updates now. It should be more accessible than it was before. Please do let us know if it is better for you.

  • MarcoZ
    MarcoZ
    Community Member

    Hi @MikeT,

    I just had a play with the latest beta for desktop (the Universal app is much older), and here are my findings:

    1. The Search field has no label. It only speaks the shortcut Ctrl+Shift+/.
    2. Once I select an item in the items list, focus gets shifted to some place more or less unpredictable. I should be able to choose an item with up and down arrows without the focus being pulled away.
    3. Once I've shift-tabbed back into the list and then selected the item that is currently visible again, and I then tab, I hear Edit, and another unlabeled button.
    4. When I then tab further, I hear nothing upon the next press of the tab key. Tabbing again, I hear a Copy button. Then another more or less unlabeled button, sometimes NVDA says V.
    5. Tabbing through the login item for this forum, for example, speaks an e-mail address, the user name, all intertwined with the Copy and V buttons for each item. But I don't hear the actual "what field is this" information spoken.
    6. When I then reach the - what I assume -- password field, I again hear nothing when I tab onto it. Only afterwards I hear the familiar Copy button again.
    7. And this goes on until I reach the Vault Switcher combobox.

    The way this is currently done keyboard-wise seems inefficient to me. I would assume that, from the Edit and Share button, I can then jump into a list of items belonging to this password entry, and up and down arrow through them. Tabbing further would then take me to the relevant buttons for that particular selection of the login or whatever other item there is. Having to tab about ten times until I get to the Reveal button for the password seems terribly inefficient to me.

    I know that this is just the first cut, but I wanted to chime in and give feedback as to help improve the experience.

    Hope the above description is clear enough. If not, just ask! :-)

    Thanks!

    Marco

  • MikeT
    edited June 2016

    Hi @MarcoZ,

    Huge thanks again!

    The Search field has no label. It only speaks the shortcut Ctrl+Shift+/.

    We will add a label soon to the search field. However, there's a tooltip that'll pop up suggesting you can use Control + F to search.

    I'm a bit confused where the Control + Shift + / came from. We don't use that shortcut for anything in the app. Could it be re-assigned by something else on your system?

    Once I select an item in the items list, focus gets shifted to some place more or less unpredictable. I should be able to choose an item with up and down arrows without the focus being pulled away.

    I believe what's happening is that when you first tab to the item list, the first item is focused but not selected. Although, it seems like the screen reader is announcing it as what you've focused in that list. In this state, the focus is still in the search field which is unlabeled as you've experienced. In addition, the details view hasn't been rendered for the "selected" item because the selected item isn't focused. If you focus the next item and go back up, it should work.

    We would like to avoid focusing the first item each time you switch the category and we are investigating to see what should be done here. We'd love to hear your feedback on this.

    Once I've shift-tabbed back into the list and then selected the item that is currently visible again, and I then tab, I hear Edit, and another unlabeled button.

    If it was an Login item, it may be the Browse button. The other categories would have it disabled, is it possible NVDA is reading the disabled button? Narrator isn't mentioning it.

    We'll test it with NVDA soon.

    When I then tab further, I hear nothing upon the next press of the tab key. Tabbing again, I hear a Copy button. Then another more or less unlabeled button, sometimes NVDA says V.

    The button next to copy is the down-arrow button to show the menu options for the field, which at the moment includes reveal and large type.

    We've just tested it and it is attempting to spell the graphical element of the down-arrow, so it isn't working correctly. We've fixed the labeling for it and it should now say the field menu and it will have the field name added at the beginning, so you'd know which field the field button belongs to, for an example: password: field menu.

    We're not sure yet on how to name such a dropdown button, do you think password field menu makes sense or do you have a better suggestion?

    But I don't hear the actual "what field is this" information spoken.

    Thanks, we are going to append the field label to the field value, for an example: password: 123456. Would that be okay?

    When I then reach the - what I assume -- password field, I again hear nothing when I tab onto it. Only afterwards I hear the familiar Copy button again.

    Confirmed, the concealed passwords are not labeled correctly, nor is the revealed password. We will fix this.

    Having to tab about ten times until I get to the Reveal button for the password seems terribly inefficient to me.

    We agree and we plan to have a shortcut for revealing the fields. That way, when you're on the concealed field, you can press Control + R to reveal it and it should announce the password on the fly for you.

    For now, it is definitely too much to tab to the field menu, select reveal and then shift-tab back to the password field.

    I know that this is just the first cut, but I wanted to chime in and give feedback as to help improve the experience.

    We hugely appreciate it, keep them going and we'll get them fixed as soon as we can. We may not be able to ship the fixes quickly this time as we have to finish our work on the extensions but we'll get it to you as soon as we can.

This discussion has been closed.