Skip to content

Incorrect role is defined for controls present on adaptive cards as list item instead of button. #7809

Description

@baton17

Target Platforms

NodeJS

SDK Version

2.10.0

Application Name

Microsoft Teams

Problem Description

Repro Steps:

  1. Open Teams application
  2. Navigate to Teams channel where card is present.

image

  1. Now navigate to "SSO button" , OAuth Button" , "Loop SSO" controls.
  2. Observe that the incorrect role is defined for controls above controls as list item.

Actual Results:
Incorrect role is defined for controls present on adaptive cards as list item instead of button. Screen reader is announcing it as "Loop SSO 3 of 5" for the third button with title "Loop SSO"

Expected Results:
Correct role should be defined as button for the controls present on Adaptive card.

User Impact:
Screen reader user will face difficulties while accessing the control if incorrect role is defined for the control they might confused about the controls.

Screenshots

No response

Card JSON

{
        "type": "AdaptiveCard",
        "body": [
            {
                "color": null,
                "horizontalAlignment": null,
                "isSubtle": false,
                "maxLines": 0,
                "size": "medium",
                "text": "Happy Testing",
                "weight": "bolder",
                "wrap": false,
                "separator": false,
                "type": "TextBlock"
            },
            {
                "color": null,
                "horizontalAlignment": null,
                "isSubtle": false,
                "maxLines": 0,
                "size": "medium",
                "text": "Refreshed Card",
                "weight": "bolder",
                "wrap": false,
                "separator": false,
                "type": "TextBlock"
            },
            {
                "actions": [
                    {
                        "verb": "initiateSSO",
                        "title": "SSO Button",
                        "type": "Action.Execute"
                    },
                    {
                        "verb": "initiateOAuth",
                        "title": "OAuth Button",
                        "type": "Action.Execute"
                    },
                    {
                        "verb": "loopSSO",
                        "title": "Loop SSO",
                        "type": "Action.Execute"
                    },
                    {
                        "verb": "loopOAuth",
                        "title": "Loop OAuth",
                        "type": "Action.Execute"
                    },
                    {
                        "verb": "latency",
                        "title": "Latency",
                        "type": "Action.Execute"
                    },
                    {
                        "verb": "TestPreConditionFailed",
                        "title": "Test PreCondition Failed SSO",
                        "type": "Action.Execute"
                    },
                    {
                        "verb": "TestPreConditionFailedWithoutSignIn",
                        "title": "Test PreCondition Failed SSO without SignIn",
                        "type": "Action.Execute"
                    },
                    {
                        "title": "Action Submit Button",
                        "type": "Action.Submit"
                    }
                ],
                "separator": false,
                "type": "ActionSet"
            },
            {
                "color": null,
                "horizontalAlignment": null,
                "isSubtle": false,
                "maxLines": 0,
                "size": "medium",
                "text": "SSO success",
                "weight": "bolder",
                "wrap": false,
                "separator": false,
                "type": "TextBlock"
            }
        ],
        "$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
        "version": "1.2",
        "refresh": {
            "action": {
                "verb": "basicRefresh",
                "title": "RefreshTitle",
                "type": "Action.Execute"
            }
        }
    }

Sample Code Language

No response

Sample Code

No response

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions