microsoft / microsoft/AdaptiveCards

Make the Designer more accessible

Open
#7,436 2 comments 0 reactions 1 assignee View on GitHub

@anna-dingler is already working on this.

Since Jun 6, 2022.

Area-Accessibility Area-Designer Feature Platform-JavaScript Product-AC
Dominant language
C#
Stars
2k
Forks
595
Avg merge
1d 19h
Merged PRs (30d)
1

Description

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:

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.