microsoft / BotFramework-WebChat

A highly-customizable web-based client for Azure Bot Services.
https://www.botframework.com/
MIT License
1.56k stars 1.51k forks source link

[Adaptive Cards] Clickable adaptive card elements do not have correct pointer/hover state #5130

Open lauren-mills opened 2 months ago

lauren-mills commented 2 months ago

Is it an issue related to Adaptive Cards?

Yes, this is an Adaptive Card issue, however it only repro on Web Chat.

Is this an accessibility issue?

Yes

What version of Web Chat are you using?

Latest production

Which distribution are you using Web Chat from?

Unrelated

Which hosting environment does this issue primarily affect?

Web apps

Which browsers and platforms do the issue happened?

Browser: Edge (latest), Browser: Chrome (latest)

Which area does this issue affect?

Attachment: Adaptive Card

What is the public URL for the website?

No response

Please describe the bug

Clickable containers in adaptive cards do not have a hover state indicating they are clickable

Do you see any errors in console log?

No response

How to reproduce the issue?

Send adaptive card like this with selectable container:

{
    "type": "AdaptiveCard",
    "$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
    "version": "1.5",
    "body": [
        {
            "type": "Container",
            "items": [
                {
                    "type": "TextBlock",
                    "text": "Interview Preparation Assistant",
                    "wrap": true,
                    "style": "heading",
                    "horizontalAlignment": "Center"
                }
            ]
        },
        {
            "type": "Container",
            "items": [
                {
                    "type": "Container",
                    "items": [
                       {
                            "type": "Container",
                            "items": [
                                {
                                    "type": "Container",
                                    "items": [
                                        {
                                            "type": "Container",
                                            "items": [
                                                {
                                                    "type": "TextBlock",
                                                    "text": "Test",
                                                    "wrap": true,
                                                    "weight": "Bolder",
                                                    "spacing": "None"
                                                }
                                            ],
                                            "spacing": "Padding"
                                        },
                                    ],
                                    "spacing": "None"
                                }
                            ],
                            "bleed": true,
                            "separator": true,
                            "selectAction": {
                                "type": "Action.Submit",
                                "data": "value"
                            },
                            "spacing": "Medium"
                        }
                    ]
                }
            ]
        }
    ]
}

What do you expect?

Any item with 'ac-selectable' class should show cursor: pointer

What actually happened?

Any item with 'ac-selectable' class do not show as clickable

Do you have any screenshots or recordings to repro the issue?

No response

Adaptive Card JSON

{
    "type": "AdaptiveCard",
    "$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
    "version": "1.5",
    "body": [
        {
            "type": "Container",
            "items": [
                {
                    "type": "TextBlock",
                    "text": "Interview Preparation Assistant",
                    "wrap": true,
                    "style": "heading",
                    "horizontalAlignment": "Center"
                }
            ]
        },
        {
            "type": "Container",
            "items": [
                {
                    "type": "Container",
                    "items": [
                       {
                            "type": "Container",
                            "items": [
                                {
                                    "type": "Container",
                                    "items": [
                                        {
                                            "type": "Container",
                                            "items": [
                                                {
                                                    "type": "TextBlock",
                                                    "text": "Test",
                                                    "wrap": true,
                                                    "weight": "Bolder",
                                                    "spacing": "None"
                                                }
                                            ],
                                            "spacing": "Padding"
                                        },
                                    ],
                                    "spacing": "None"
                                }
                            ],
                            "bleed": true,
                            "separator": true,
                            "selectAction": {
                                "type": "Action.Submit",
                                "data": "value"
                            },
                            "spacing": "Medium"
                        }
                    ]
                }
            ]
        }
    ]
}

Additional context

No response

lauren-mills commented 2 months ago

WebChat also does not assign :active and :focus states to these divs when they are clicked, which is an accessibility issue.