microsoft / microsoft/AdaptiveCards

[Rendering][XAML] ChoiceSets without a Label have no accessible name

Open
#8,837 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Area-Renderers Bug
Dominant language
C#
Stars
2k
Forks
595
Avg merge
1d 19h
Merged PRs (30d)
1

Description

Target Platforms

UWP

SDK Version

1.5

Application Name

Dev Home

Problem Description

If a Label (Header) is not specified on a ChoiceSet (ComboBox), the resulting ComboBox will not have an accessible name. This is the same behavior that happens in direct WinUI 3, however, setting an Accessible Name directly in WinUI 3 is a lot easier than hoping each Adaptive Card host creates a custom renderer for this case. I suggest that if there is no Label, the renderer sets the Name to be the placeholder text. That way the card author can still do things the default way (set a label/header) but the control is still accessible if they do not.

https://dev.azure.com/microsoft/OS/_workitems/edit/48294659
https://dev.azure.com/microsoft/OS/_workitems/edit/48181033

Screenshots

No response

Card JSON
{
    "type": "AdaptiveCard",
    "$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
    "version": "1.5",
    "body": [
        {
            "type": "Input.ChoiceSet",
            "choices": [
                {
                    "title": "Choice 1",
                    "value": "Choice 1"
                },
                {
                    "title": "Choice 2",
                    "value": "Choice 2"
                }
            ],
            "placeholder": "Placeholder text"
        }
    ]
}
Sample Code Language

No response

Sample Code

No response

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.

Research direction

Start by locating the UWP XAML renderer for Input.ChoiceSet and reproduce the supplied Card JSON with no Label and a placeholder. Verify the resulting ComboBox receives an accessible name, while preserving the existing labeled behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
accessibility
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.