Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Screen Reader-Intelligent Support Experience-Feedback]: Voiceover/Talkback are not narrating the state(selected) for the buttons present in the Tell us about your experience chat while navigating using right swipe. #3622

Closed
Amit8527510735 opened this issue Nov 25, 2020 · 14 comments · Fixed by #3710
Assignees
Labels
area-accessibility bug Indicates an unexpected problem or an unintended behavior. ExemptFromDailyDRIReport exempt from daily DRI report p0 Must Fix. Release-blocker
Milestone

Comments

@Amit8527510735
Copy link

Amit8527510735 commented Nov 25, 2020

User Impact:
Users who rely on Screen reader are not knowing the state if Voiceover is not narrating the state(selected) for the buttons present in the Tell us about your experience chat while navigating using right swipe.

Product name, version, and build: Intelligent Support Experience/Chrome v.83/Safari
Device: iPhone X, Android
OS : iOS version 13.6.1,version 10
Browser: Safari, Chrome version 83.0.4103.106
URL: https://servicesuat.microsoft.com/#/time/timeentry
Screen Readers: Voiceover, Talkback

Does this repro with other AT? (If applicable): NA

AT version and build (if applicable): NA

Prerequisite (if any): NA

Repro Steps:
Step 1: Open the above URL in Safari/Chrome browser with valid credentials and turn on Voiceover/Talkback
Step 2: Type 'Startover' -> Bot reponse -> Type 'Feedback' -> 'Feedback Screens' card will be displayed.
Step 3: Navigate to buttons (I like something,I don’t like something & I have a suggestion) and select any button.
Step 4: Now navigate to the button Verify whether voiceover/Talkback are narrating the state(selected) or not.

Screenshots:
image

image

Actual:
Voiceover/Talkback are not narrating the state(selected) for the buttons present in the Tell us about your experience chat while navigating using right swipe.

Observation: After selecting When the voiceover focus is on I like something button Voiceover is narrating as 'I like something button'

Expected:
Voiceover/Talkback should narrate the state(selected) for the buttons present in the Tell us about your experience chat while navigating using right swipe.

Ex: After selecting When the voiceover/Talkback focus is on I like something button Voiceover/Talkback should narrate as 'I like something button selected'

WCAG Reference:

https://www.w3.org/WAI/WCAG21/Understanding/name-role-value.html
https://www.w3.org/WAI/WCAG21/Techniques/aria/ARIA5.html

@Amit8527510735 Amit8527510735 added bug Indicates an unexpected problem or an unintended behavior. customer-reported Required for internal Azure reporting. Do not delete. Bot Services Required for internal Azure reporting. Do not delete. Do not change color. labels Nov 25, 2020
@Amit8527510735
Copy link
Author

Amit8527510735 commented Nov 25, 2020

#A11yMAS;#A11ySev2;#Accessibility;#WCAG4.1.2;#HCL;#HCL_BotFramework_WebChat;#Linked:BUG6389369;#LinkedBug

@corinagum
Copy link
Contributor

Thank you for filing this issue. @compulim could you take a look on Android?

@corinagum corinagum added customer-replied-to Required for internal reporting. Do not delete. area-accessibility needs-team-attention labels Nov 25, 2020
@axelsrz axelsrz removed the customer-replied-to Required for internal reporting. Do not delete. label Nov 25, 2020
@cwhitten cwhitten added ExemptFromDailyDRIReport exempt from daily DRI report and removed Bot Services Required for internal Azure reporting. Do not delete. Do not change color. customer-reported Required for internal Azure reporting. Do not delete. labels Nov 30, 2020
@compulim
Copy link
Contributor

I think the activity is an Adaptive Card.

Adaptive Card should not be used for a one-off choice prompt. It is designed to be able to repetitively submitted. Thus, no selected state is given.

For one-off choice prompt, please use suggested actions.

@Amit8527510735
Copy link
Author

@compulim So you are telling this is external to Adaptive Card team? We need to route this to Adaptive Card team ?

@corinagum corinagum added the p0 Must Fix. Release-blocker label Jan 14, 2021
@corinagum
Copy link
Contributor

@Amit8527510735 please disregard submitting to Adaptive Card for now

This will need design discussion - UX today can repetitively submit cards (not disabled, no selected state). Move to Suggested Actions? Or add a property for one-off AC? This would need AC 2.0 schema

@sangwoohaan Inline suggested actions changes could be applied here - could you give an update on your schedule for that work item #3083

@corinagum corinagum added backlog Out of scope for the current iteration but it will be evaluated in a future release. front-burner labels Jan 15, 2021
@Kaiqb Kaiqb added the needs-design-input UX/UI design item label Jan 21, 2021
@Quirinevwm
Copy link

@corinagum form design perspective can we go for the following:

  • State selection is communicated in voice over: "[content button] selected" versus "Nothing selected yet".
    The questions about the 'active' state of the buttons in the card is still valid. A user could go back and change the initial feedback they have selected, so from like to dislike for example. In that case the communication voice over should describe the newly selected button.
  • For the UI coloring, this issue is focused on the state call out in the communication layer (previous comment). I do think for selection in adaptive cards, we can provide the user with visual feedback (an outline, or lighter shade). That would be something to explore separate from this issue. Since in this particular case, when you would go back and look at the card, you would see your previous selected option highlighted (also in voice over) and you would have the ability to make changes.

@corinagum
Copy link
Contributor

@Quirinevwm thanks for the feedback!

Makes sense on the first bullet!

https://github.com/microsoft/BotFramework-WebChat/tree/master/samples/05.custom-components/l.disable-adaptive-cards

Regarding second bullet: We have a sample that allows the user to see what they selected previously (visually; screenreader feature is not enabled yet), by changing the background color of the button they selected. This sample also disables old cards, but please ignore that part of the feature re this discussion.

To get this feature that user has to implement the code in the sample. Would you say this is something that should be available as a property to Web Chat developers by default? In this sample, the button background turns blue (which in our case is the accent color for Web Chat), but if you think outline or lighter shade is better, please let us know. If you think we should have this available by default, we can create a new feature-request for tracking and I will move this discussion over there.

Now that I've typed it all out, to me it seems like we absolutely should have have the button selected indication available by default, but just in case I will leave the question haha.

@compulim since this is assigned to you I'll let you handle any other questions.

@Quirinevwm
Copy link

@corinagum thanks for sharing your thinking regarding the 2nd bullet ;) I do think it should be available as a property by default, since it's an indicator of progress for the end user. If the accent color for Web Chat is already set to that kind of blue, I think it might be best to go for a thicker outline around the selection. So "previous selected" pattern is a thicker outline in that color blue.

This way the accent color can still be used for set actions (full on blue color) as a "recommended" button, just a in GitHub when you write up a comment, the "comment" button is in full color.
image
So I would not like to copy this exact pattern, for the previously selected pattern.

@corinagum corinagum assigned amal-khalaf and unassigned compulim and Kaiqb Jan 25, 2021
@corinagum corinagum removed front-burner needs-design-input UX/UI design item needs-team-attention backlog Out of scope for the current iteration but it will be evaluated in a future release. labels Jan 25, 2021
@corinagum corinagum added this to the R12 milestone Jan 25, 2021
@amal-khalaf
Copy link

@Amit8527510735
I did some more research regarding aria-selected and when adding this attribute to Adaptive-Card button , AT is not announcing the selected message.
I also tried changing the 'role' attribute to 'button' instead of "menuitem" and still AT did not announce "selected"

so only thing which worked for me was:
setting role='button' and adding aria-pressed="true" : AT announced 'Foo button pressed' instead of "foo button selected"

is this an acceptable work around until Adaptive Card team support this out of the box?

@Amit8527510735
Copy link
Author

@amal-khalaf : Yes above work around is acceptable.

@Amit8527510735
Copy link
Author

@amal-khalaf whenever you implement the workaround, please let us know will validate the issue.

@Amit8527510735
Copy link
Author

@amal-khalaf Can you please confirm is this ready for re-test?

@amal-khalaf
Copy link

@Amit8527510735 I am having some issues in our CI tests - will update this thread when the change is merged to master branch.

@corinagum
Copy link
Contributor

@Amit8527510735 this is ready for re-test on https://cdn.botframework.com/botframework-webchat/4.12.0/webchat-es5.js

Could you verify?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-accessibility bug Indicates an unexpected problem or an unintended behavior. ExemptFromDailyDRIReport exempt from daily DRI report p0 Must Fix. Release-blocker
Projects
None yet
8 participants