microsoft / microsoft/AdaptiveCards
{Linked:Bug1040211}[Adaptive Cards > Designer]: Visually appearing table on "Onboarding Agent" card is not defined as table programmatically.
Nobody has claimed this yet.
- Dominant language
- C#
- Stars
- 2k
- Forks
- 595
- Avg merge
- 1d 19h
- Merged PRs (30d)
- 1
Description
Target Platforms
Other
SDK Version
1.6
Application Name
Adaptive Cards
Problem Description
Test Environment:
URL: https://adaptivecards.io/designer/
OS version: 24H2(OS Build 27898.1000)
Edge-dev Version: 140.0.3430.1 (Official build) dev (64-bit)
Screen Reader: Narrator
Pre-Requisite:
Run the below attached JSON file under 'Copy Card Payload editor.'
Repro Steps:
- Open the above URL on the Edge Dev browser.
- Navigate to the Onbording Agent Card using tab key.
- Now, press table shortcut key 't' and observe the issue.
Actual Result:
Visually appearing table on "Onboarding Agent" card is not defined as table programmatically. On using t shortcut key screen reader announces as "No next table".
Expected Result:
Visually appearing table on "Onboarding Agent" card should be defined as table programmatically. On using t shortcut key screen reader should announce as "Candidates onboardin and enrollment table" or something similar to this.
Note:
Same issue is repro with NVDA.
User Impact:
Visually impaired users who depend on screen readers will not get to know the correct type of control due to which they won't be able to utilize the functionality of that control properly.
WCAG Reference:
https://www.w3.org/WAI/WCAG21/Understanding/info-and-relationships
Have feedback on bugs logged, please tag bug as “A11yRCA” and add your feedback in the comment section.
Screenshots
https://github.com/user-attachments/assets/25f6aea3-87e7-4207-b2f1-78dd467d9d8d
Card JSON
{
"type": "AdaptiveCard",
"body": [
{
"type": "Container",
"id": "maineContainer",
"verticalContentAlignment": "Center",
"items": [
{
"type": "Container",
"id": "contentTitle",
"style": "emphasis",
"items": [
{
"type": "TextBlock",
"size": "Default",
"weight": "Default",
"text": "Hi user01, there are 4 new candidates ready to join. Would you like to start their onboarding and enrollment activities?",
"wrap": true,
"height": "stretch",
"color": "Default"
}
],
"bleed": true,
"spacing": "None"
},
{
"type": "Container",
"id": "cardContentList",
"items": [
{
"type": "ColumnSet",
"columns": [
{
"type": "Column",
"items": [
{
"type": "TextBlock",
"size": "Small",
"weight": "Bolder",
"text": "Candidate",
"wrap": true,
"height": "stretch"
}
],
"width": 15
},
{
"type": "Column",
"items": [
{
"type": "TextBlock",
"size": "Small",
"weight": "Bolder",
"text": "Rec. request",
"wrap": true,
"height": "stretch"
}
],
"width": 15
},
{
"type": "Column",
"items": [
{
"type": "TextBlock",
"size": "Small",
"weight": "Bolder",
"text": "Position",
"wrap": true,
"height": "stretch"
}
],
"width": 15
},
{
"type": "Column",
"items": [
{
"type": "TextBlock",
"size": "Small",
"weight": "Bolder",
"text": "Position name",
"wrap": true,
"height": "stretch"
}
],
"width": 25
},
{
"type": "Column",
"items": [
{
"type": "TextBlock",
"size": "Small",
"weight": "Bolder",
"text": "Hiring manager",
"wrap": true,
"height": "stretch"
}
],
"width": 20
},
{
"type": "Column",
"items": [
{
"type": "TextBlock",
"size": "Small",
"weight": "Bolder",
"text": "Start date",
"wrap": true,
"height": "stretch"
}
],
"width": 15
},
{
"type": "Column",
"items": [
{
"type": "TextBlock",
"size": "Small",
"weight": "Bolder",
"text": "Hire",
"wrap": true,
"height": "stretch",
"horizontalAlignment": "Center"
}
],
"width": 5
}
]
},
{
"separator": true,
"spacing": "Medium",
"height": "stretch",
"type": "Container",
"items": [
{
"type": "ColumnSet",
"columns": [
{
"type": "Column",
"items": [
{
"type": "TextBlock",
"size": "Small",
"weight": "Default",
"text": "Oscar Ward",
"wrap": true
}
],
"width": 15
},
{
"type": "Column",
"items": [
{
"type": "TextBlock",
"size": "Small",
"weight": "Default",
"text": "USMF-000004",
"wrap": true
}
],
"width": 15
},
{
"type": "Column",
"items": [
{
"type": "TextBlock",
"size": "Small",
"weight": "Default",
"text": "000507",
"wrap": true
}
],
"width": 15
},
{
"type": "Column",
"items": [
{
"type": "TextBlock",
"size": "Small",
"weight": "Default",
"text": "Machine Operator",
"wrap": true
}
],
"width": 25
},
{
"type": "Column",
"items": [
{
"type": "TextBlock",
"size": "Small",
"weight": "Default",
"text": "Sara Thomas",
"wrap": true
}
],
"width": 20
},
{
"type": "Column",
"items": [
{
"type": "TextBlock",
"size": "Small",
"weight": "Default",
"text": "July 11, 2025",
"wrap": true
}
],
"width": 15
},
{
"type": "Column",
"items": [
{
"type": "Input.Toggle",
"id": "row_USMF-000005",
"title": " ",
"value": "false",
"wrap": true
}
],
"width": 5
}
],
"separator": true,
"spacing": "Medium",
"height": "stretch"
}
]
},
{
"separator": true,
"spacing": "Medium",
"height": "stretch",
"type": "Container",
"items": [
{
"type": "ColumnSet",
"columns": [
{
"type": "Column",
"items": [
{
"type": "TextBlock",
"size": "Small",
"weight": "Default",
"text": "Olivia Wilson",
"wrap": true
}
],
"width": 15
},
{
"type": "Column",
"items": [
{
"type": "TextBlock",
"size": "Small",
"weight": "Default",
"text": "USMF-000007",
"wrap": true
}
],
"width": 15
},
{
"type": "Column",
"items": [
{
"type": "TextBlock",
"size": "Small",
"weight": "Default",
"text": "000114",
"wrap": true
}
],
"width": 15
},
{
"type": "Column",
"items": [
{
"type": "TextBlock",
"size": "Small",
"weight": "Default",
"text": "Human Resource Director",
"wrap": true
}
],
"width": 25
},
{
"type": "Column",
"items": [
{
"type": "TextBlock",
"size": "Small",
"weight": "Default",
"text": "Sara Thomas",
"wrap": true
}
],
"width": 20
},
{
"type": "Column",
"items": [
{
"type": "TextBlock",
"size": "Small",
"weight": "Default",
"text": "July 16, 2025",
"wrap": true
}
],
"width": 15
},
{
"type": "Column",
"items": [
{
"type": "Input.Toggle",
"id": "row_USMF-000008",
"title": " ",
"value": "false",
"wrap": true
}
],
"width": 5
}
],
"separator": true,
"spacing": "Medium",
"height": "stretch"
}
]
},
{
"separator": true,
"spacing": "Medium",
"height": "stretch",
"type": "Container",
"items": [
{
"type": "ColumnSet",
"columns": [
{
"type": "Column",
"items": [
{
"type": "TextBlock",
"size": "Small",
"weight": "Default",
"text": "Violet Martinez",
"wrap": true
}
],
"width": 15
},
{
"type": "Column",
"items": [
{
"type": "TextBlock",
"size": "Small",
"weight": "Default",
"text": "USMF-000008",
"wrap": true
}
],
"width": 15
},
{
"type": "Column",
"items": [
{
"type": "TextBlock",
"size": "Small",
"weight": "Default",
"text": "000536",
"wrap": true
}
],
"width": 15
},
{
"type": "Column",
"items": [
{
"type": "TextBlock",
"size": "Small",
"weight": "Default",
"text": "Attorney",
"wrap": true
}
],
"width": 25
},
{
"type": "Column",
"items": [
{
"type": "TextBlock",
"size": "Small",
"weight": "Default",
"text": "Sara Thomas",
"wrap": true
}
],
"width": 20
},
{
"type": "Column",
"items": [
{
"type": "TextBlock",
"size": "Small",
"weight": "Default",
"text": "July 21, 2025",
"wrap": true
}
],
"width": 15
},
{
"type": "Column",
"items": [
{
"type": "Input.Toggle",
"id": "row_USMF-000009",
"title": " ",
"value": "false",
"wrap": true
}
],
"width": 5
}
],
"separator": true,
"spacing": "Medium",
"height": "stretch"
}
]
},
{
"separator": true,
"spacing": "Medium",
"height": "stretch",
"type": "Container",
"items": [
{
"type": "ColumnSet",
"columns": [
{
"type": "Column",
"items": [
{
"type": "TextBlock",
"size": "Small",
"weight": "Default",
"text": "Maya Robinson",
"wrap": true
}
],
"width": 15
},
{
"type": "Column",
"items": [
{
"type": "TextBlock",
"size": "Small",
"weight": "Default",
"text": "USMF-000005",
"wrap": true
}
],
"width": 15
},
{
"type": "Column",
"items": [
{
"type": "TextBlock",
"size": "Small",
"weight": "Default",
"text": "000519",
"wrap": true
}
],
"width": 15
},
{
"type": "Column",
"items": [
{
"type": "TextBlock",
"size": "Small",
"weight": "Default",
"text": "Materials Manager",
"wrap": true
}
],
"width": 25
},
{
"type": "Column",
"items": [
{
"type": "TextBlock",
"size": "Small",
"weight": "Default",
"text": "Sara Thomas",
"wrap": true
}
],
"width": 20
},
{
"type": "Column",
"items": [
{
"type": "TextBlock",
"size": "Small",
"weight": "Default",
"text": "July 24, 2025",
"wrap": true
}
],
"width": 15
},
{
"type": "Column",
"items": [
{
"type": "Input.Toggle",
"id": "row_USMF-000006",
"title": " ",
"value": "false",
"wrap": true
}
],
"width": 5
}
],
"separator": true,
"spacing": "Medium",
"height": "stretch"
}
]
}
],
"separator": true,
"horizontalAlignment": "Left",
"spacing": "Medium"
},
{
"type": "Container",
"style": "default",
"id": "cardContentActions",
"bleed": true,
"spacing": "Small",
"separator": true,
"items": [
{
"type": "TextBlock",
"text": "*You must select at least one candidate record before proceeding with Hire.*\n",
"wrap": true
},
{
"type": "ColumnSet",
"columns": [
{
"type": "Column",
"items": [
{
"type": "ActionSet",
"actions": [
{
"type": "Action.Submit",
"title": "Hire and start onboarding activities",
"id": "action_start_onboarding",
"style": "positive",
"iconUrl": "icon:PersonAvailable"
}
]
}
],
"width": "auto"
}
]
}
],
"horizontalAlignment": "Left"
}
],
"style": "emphasis",
"bleed": true,
"spacing": "None"
}
],
"$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
"version": "1.6",
"fallbackText": "This card requires Adaptive Cards v1.4 support to be rendered properly.",
"size": "large",
"msteams": {
"width": "Full"
},
"spacing": "None"
}
Sample Code Language
No response
Sample Code
Tracking with https://dev.azure.com/msdyneng/FinOps/_workitems/edit/1040211
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Open https://adaptivecards.io/designer/ and load the Card JSON from the issue in the Copy Card Payload editor. Reproduce with Edge and a screen reader, starting at the Onboarding Agent card and its visually rendered ColumnSet content. Done means the card is announced as a table, including an appropriate table name, when navigating with the table shortcut.
Written by the indexing model from the issue text.
Assessment
- Domain
- accessibility, frontend, web-dev
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100