Label features by evaluated text-field
When accessibleLabelProperty isn’t set, queryFeatures() should set the aria-label attribute based on the evaluated value of the text-field property. Each feature in the feature querying results has a layer property that contains the evaluated values. This way, whatever a sighted user sees is exactly what a screenreader user would hear. Using the evaluated text-field value would even solve #6 as a side effect, since it would account for any changes already made by the gl-language plugin.
https://github.com/mapbox/mapbox-gl-accessibility/blob/3a2d6b646c99f0d3877cdb47764dd63a8e4cf582/index.js#L41
/cc @tristen @lukasmartinelli
Great idea. However I think mapbox-gl-accessibility should provide an option to use the evaluated value of the text-field or a feature property. Since:
- Not all accessible layers will have labels, but you might still want to allow users to tab through them and get a descriptive
aria-label, eg:speaking_head:for :speaking_head: - Sometimes the
aria-labelshould be different to the label. eg. When doing clustering using you might want accessible element for the cluster to have anaria-labelofCluster containing 6 itemsinstead of thetext-fieldof6.
PS. Thanks for open sourcing this, it makes sense to try to have a shared library that everyone can use rather than everyone trying to implement it themselves within their application.