microsoft / AdaptiveCards

A new way for developers to exchange card content in a common and consistent way.
https://adaptivecards.io
MIT License
1.72k stars 543 forks source link

Make the Designer more accessible #7436

Open carlos-zamora opened 2 years ago

carlos-zamora commented 2 years ago

There's a good amount of accessibility work that can be done on the designer. This issue is intended to track that work.

To start, the "drag" and "remove" controls need to be accessible and actually usable. See https://github.com/microsoft/AdaptiveCards/issues/7067 for more details.

Unfortunately, the work required to do that is no small task. Pankaj and I wrote a proposal for a designer overhaul. That can be found here. For simplicity, I've copied the summary below...

Designer Overhaul Summary - There are various aspects of the designer that are only available to mouse users - Making these features available to keyboard users will require a refactor of the designer, which should involve - Rendering every element of the card upon initialization, even if the element is initially hidden - In designer mode, only the peers should be focusable whereas the elements themselves should be not-focusable - Furthermore, all commands available to the peer should be invokable via keyboard (general commands like drag/drop, remove; as well as specific commands like 'Add a column') - When new elements are added to the card, or when existing elements are moved around, the elements should be inserted into the html tree in such a way as to mimic their order in the card itself - If this requires a complete re-rendering of the card every time such an action is invoked, then extra steps must be taken to ensure focus does not get lost - Aside from the preview card itself, the other panes in the designer (i.e. 'Card Elements', 'Card Structure' and 'Element Properties') also need to be improved to support keyboard users - Since these panes are quite linked with each other, in particular the 'Card Structure' and 'Element Properties' panes, there should exist an easy way for keyboard users to switch between these panes - All elements in these panes should be accessible/activatable by keyboard - i.e. inserting an element into the preview card from the 'Card Elements' pane should be possible via keyboard instead of only via dragging onto the preview card - i.e. all elements in the 'Card Structure' pane should be accessible via keyboard

As a bonus, I strongly suggest that whoever begins to work on making the designer more accessible also keep an eye on the following queries:

anna-dingler commented 2 years ago

Action Items

JeanRoca commented 1 year ago

Labels removed as this issue was broken down into smaller ones in the previous comment