microsoft / BotFramework-WebChat

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

Support image beside button text in Hero card #4117

Open saikumaru opened 2 years ago

saikumaru commented 2 years ago

Please view our Technical Support Guide before filing a new issue.

Feature Request

Currently, this feature is supported for Suggested actions, as mentioned here https://github.com/microsoft/BotFramework-WebChat/issues/1739

However the same feature is not supported on Hero card. https://github.com/microsoft/botframework-sdk/issues/2232

Currently cardAction does have a field for image, https://docs.microsoft.com/en-us/javascript/api/botframework-schema/cardaction?view=botbuilder-ts-latest#properties And also Herocard does support cardActions. https://docs.microsoft.com/en-us/javascript/api/botframework-schema/herocard?view=botbuilder-ts-latest#botframework-schema-herocard-buttons

However this is not rendered on UI.

Is your feature request related to a problem? Please describe. Yes, this limits the usage of herocards

Describe the suggestion or request in detail Please provide the feature for client side script to render this image

Describe alternatives you have considered

This limits the way user menu is rendered to user. Suggested icons are sticky to the chat widget, and sometimes occupy lot of screen space, especially when the buttons are dynamically populated for a tabular rendering.

Additional context

compulim commented 2 years ago

Thanks for looking into this.

Currently, we render rich card using Adaptive Cards. Although it does support iconUrl in its Action.Submit element, it does not support alt text. That means, if we support rendering the icon, we will fail accessibility audit.

When Adaptive Cards resolved their issue, then we can start supporting image/icon in hero cards.

saikumaru commented 2 years ago

Thank you @compulim , really appreciate your direction of thought. I always thought Hero cards were a seperate functionality to adaptive cards. But probably can only wait now.