-
Notifications
You must be signed in to change notification settings - Fork 3
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
Web map tools accessibility evaluation (WCAG 2.1) #10
Comments
My impression is that this type of analysis could form a good argument that maps should be standardized, because of variation, often negative, in the accessibility of the maps. Of course, some of this variation is likely due to how we have applied the library in question; not always. However, that still doesn't negate the argument that HTML integration should and would iron out these variations. Still looking at this, but it might be a good analysis to present at the workshop, if you're willing. |
Hi @Malvoz, excellent work here! I'm working on a longer response to this but it's taking me a while, so I'm just commenting to let you know that your hard work has not gone unnoticed. 😂 |
This is great, @Malvoz! (I mean, it's not great for the web that the results are so disappointing, but it's great to have it written down. As Peter says, it's a good argument for “the status quo isn't good enough” when it comes to web map standardization.) Have you contacted any of the teams responsible for these projects to point them to it? About the Maps for the Web workshop: Get in touch with me at amelia.bellamy.royds@gmail.com to let me know what you'd be interested in & we can connect you all up. |
@AmeliaBR Sorry for the delayed response, unfortunately I wont be able to make presentations - @nchan0154 please feel free to refer to/use the evaluation report as you see fit. You'll do great!
I've opened a few Leaflet issues already, they're linked to (marked "[Leaflet issue]") in the report, but haven't yet pointed them to the report itself. I thought I'd ask for feedback before doing so, and before contacting the other teams.
Indeed.
I don't think that's the case in our particular implementation, if anything we've enhanced the accessibility, e.g.: Maps4HTML/HTML-Map-Element-UseCases-Requirements#200, perhaps something that many authors wouldn't have done themselves. |
Hi Malvoz, thank you for taking the initiative to work on this! I am sorry to hear that you won't be able to make presentations, thank you for allowing me to refer to your notes thus far, I hope I will do us all proud 😂 I have some corrections and additional thoughts below. 1.1.1 Non-text contentGoogle Maps Embed: The lack of alt attributes on the zoom control's is overriden by the aria-label on button control. (but the Google graphic is still unlabelled!) Google Maps API: Same as above for the zoom and full screen controls, they are both labelled. 1.1.3 Info & RelationshipsMapKit JS (Apple Maps) API: I am seeing that the zoom in and out buttons have the aria-disabled="true" attribute applied correctly. MapBox GL JS API: Has an aria-label of "Map" which does identify the map container's purpose. TomTom Maps SDK for Web: Does have an aria-label of map on the map container, but it is not the container that receives focus, so a NVDA user might hear all the text in the container, and then a "Map" label a little later. 1.4.3 Contrast (Minimum)I believe it is valuable to evaluate the contrast of the default map controls/content as often times they cannot be changed by the developer.
1.4.11 Non-text ContrastAll the default maps fail this one. I recognize the difficulty of making a map where each discrete element (country boundaries, bodies of water, roads etc) remain in sharp contrast to eachother at all levels of zoom while remaining balanced and having a clear hierarchy amongst important shapes versus less important shapes. I think an important mitigating factor of this is having higher levels of zoom show distict borders between shapes, and offering some support for high contrast mode. I'm not sure how this fits into your work, but just thought I'd throw it out there. 2.4.3 Focus OrderFantastic work with these charts, these are great! 3.2.5 Change on RequestThis success criterion covers link behavior. It is often not recommended to open links in a new window, but in this case, since user context on the map may be lost, it is understandable to make the link open in a new window, but ideally it should come with a warning
I was able to reproduce and confirm all the additional issues that you reported. I wasn't sure where to place this but I noticed in the Mapbox Studio embed, the autocomplete suggestions for the search bar are not announced to screen reader users, it just reads the content of the search input over and over as you navigate the suggestions. |
Thanks for the thorough review Nic!
I understand that if the controls did not have labels/accessible names then it'd be imperative that the image elements have appropriate So strictly speaking the images should be explicitly hidden from screen readers I think, although most screen readers may be smart enough not to announce them in this scenario. Are you suggesting it's safe to not fail those images?
You're right, I will correct this. Thanks!
That's true, if it didn't I would have failed the element for missing name in 4.1.2 Name, Role, Value. However for SC 1.1.3 I don't think an
Yes, the failure is failing to convey the "web map's semantic structure as a distinct piece of content".
Nice job! I'll incorporate this, thanks!
Conforming to this SC is not as straight forward and not as easily actionable as other SCs, perhaps we can add this as an item (to support high contrast mode) in the "Substantial accessibility issues not yet mapped/added to Success Criteria" section for now?
I used Microsoft's Accessibility Insights for Web to highlight the tab stops, pretty cool indeed!
Thanks I'll see about incorporating this too!
Did you intend to "Fail" all of the above?
Again, thank you very much @nchan0154 for reviewing! |
I see! I think it is safe to not fail these because the use of aria-label should override native naming, and is a technique that is often recommended by several experts (quotes pulled out)! While if it were me building it I'd probably slap an empty alt -just in case-, I wouldn't categorize it as a failure due to similar implementations across browsers, and if we did notice the buttons images being announced on any screen reader, I'd report it as a bug to the browser for not matching the spec.
Fair enough! I noticed when doing NVDA Chrome, Mapbox Studio Embed and Mapbox GL announced the exact same thing, so it did not make sense for me to fail one and not the other. However, when I tested in Firefox (the more popular browser with NVDA), the GL version is significantly worse (just calls the container "clickable"). I agree with the universal fail result here, but also think with the crappiness of iframes labelling, the details of this failure criterion may vary significantly from browser to browser 🤔 This is a solid argument for why this needs some standardization 😂
Yes, I forgot to update that column, ahaha. Please go based on the notes and not that column value! |
Okay, I have removed those failures in Malvoz/web-maps-wcag-evaluation@c316932, thanks!
I believe I failed MapBox GL in SC 1.1.3 Info & Relationships because it is lacking a "semantic" relationship between the "map component" and its controls (I realize iframe doesn't have an implicit <div id="mapbox-api-map">
<canvas aria-label="Map">
</canvas>
<div class="mapboxgl-control-container">
<!-- controls -->
</div>
</div> whereas MapBox Studio Embed has its "map component" and controls enclosed in a labelled iframe: <iframe title="MapBox Studio">
#document
<!-- all the things -->
</iframe> in this particular scenario, whether the lack of relationship between the map and the map components of MapBox GL has any significant implications on users I'm not sure, I suppose it could depend on the tool(s) the user is using to navigate the web page. It does have an appropriate
Added SC 3.2.5 in Malvoz/web-maps-wcag-evaluation@75cc0dd, thanks! |
Sorry, my comment was more of a runaway train of thought. Once I tested further, I have to agree with the assessment that all of them should fail as the output in NVDA/Firefox lacks a ton of context. I don't think it requires any further change :) I would like to cite this evaluation in the presentation and create a shortlink to it, if that's okay with you? If so, how would you like to be referenced? @Malvoz |
@nchan0154 Yes that's okay!
As Robert Linder, if affiliation is desired it'd be Maps for HTML CG. |
Should have been removed in c316932. Per discussion in Maps4HTML/chat#10 (comment).
I'm happy to announce that MapBox have already started implementing accessibility improvements in mapbox/mapbox-gl-js#9991. 🎉 |
I commented on the Accessibility for Google Maps API issue. A recent response stated that "the engineering team has been making strides to improve the accessibility", with multiple accessibility issues fixed in release 3.43.1a and 3.43.2. 🎉 Additionally, it is now possible to pan the map display using a keyboard in Google Maps Embed. Great news for users of Google Maps to end the year with. 😄 |
@erictheise Welcome! And thank you for your comment. The tools included in the evaluation are the reference tools currently listed in the Use Cases and Requirements report (per the defined evaluation scope). That list of reference tools may be expanded to include other tools in the future and as such other tools become subject to evaluation. Periodic evaluation would be great, and especially important to keep any notes on accessibility issues up to date. I will consider conducting a new evaluation in the future, which is likely going to follow WCAG 2.2 or WCAG 3.0 guidelines (whichever guideline will have reached Candidate Recommendation status by then). But that'd be a separate document (probably in the same repo), and as this issue is about the WCAG 2.1 evaluation I think closing this issue was the right thing to do. |
Thanks for your thorough explanation @Malvoz. This effort has a lot of tendrils and I appreciate your taking the time to trace them out for me. |
I have manually evaluated the accessibility support of the reviewed web map tools. While I don't consider the evaluation report complete, my intention is to open bug reports to get the attention of the web map tools' authors. I'm not an accessibility expert, though I have studied WAI-ARIA for some time, and have read the WCAG Evaluation Methodology. It hasn't been an easy task to interpret all the WCAG documentation, so I'd appreciate any feedback.
Here it is: web-maps-wcag-evaluation.
/cc @Maps4HTML/contributors
The text was updated successfully, but these errors were encountered: