-
Notifications
You must be signed in to change notification settings - Fork 16
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
Create a map-extent
checked attribute
#786
Comments
As far as a |
We have been working on the <map-extent> custom element implementation. (experiment). The The intent here is not to nest a button inside a button, or similar accessibility trap, but to represent interactive controls for map content in a form-like manner using their declared structure (nesting and attributes). Currently, we have not documented the Thanks for any thoughts you may have on this. |
@prushforth Some questions/other thoughts I had when looking at the experiment that are worth considering from an accessibility perspective:
|
@nchan0154 thanks for your thoughtful review. I appreciate that it takes a lot of time to delve into these things enough to comment clearly. And you've done that, so thank you. Taking these thoughts not necessarily in order:
Quite possibly! Yes, there's the rule, and the spirit of the rule, and I think we've walked a fine line to not violate the rule, but we are challenged to design a default layer control that lives up to the spirit of the rule. I am trying to picture the default layer control as one possible "projection" or "view" of the map content, with the actual map being another such perspective. As such the layer control MUST be pretty darn accessible, and usable. Not sure we're there yet, as you suggest,
and I agree a wider review would be good now. I will try to engage W3C members to that end.
Yes, probably so. OTOH, I have always wanted to implement keyboard drag and drop for it, but I don't know how, or if it's even possible. If implementing keyboard drag and drop is not possible, it should not become part of the proposal, but the feature is currently useful for demonstrating the DOM api that is implemented by the <mapml-viewer>, <layer-> and <map-extent> elements.
<map-extent> started out life without the interactive attributes, and for a while I tried to keep it in that box, first by saying there could be only one <map-extent> per layer, and then when it became clear that enforcing such a rule might be counter-productive, by saying that if <layer-> contained only one <map-extent>, that the lone <map-extent> would be hidden by default in the layer control, because of course you could check and uncheck the <layer->, so adding controls to the extent would be complicated and redundant.
As we are implementing the <map-extent> custom element now, we need to implement defined semantics and so having I agree that even for non-screen reader users, the complexity of the layer control interface, especially with sub-layers (map-extent) is annoying and concerning.
Yes, I hate it too.
As mentioned earlier, I think it's useful for demonstrating the DOM api that comes with the custom elements, but good point even removing minimally useful controls simplifies the UI and improves the usability.
Do you mean the three dot / 'hamburger' menu button? I think the opacity control is a requirement, but it's good to not have it in your face all the time. And we are currently nesting <map-extent>s inside that as well, so it would be a lot of (possibly not relevant) stuff to go through for a keyboard user, for example, if we didn't use the disclosure approach. Thanks, will read. |
Resolved to #887, horizontal review from W3C accessibility community is required. |
Currently, there is no checked attribute for a
<map-extent>
, yet the extent is checkable in the layer control if it has alabel
attribute. Even though there is currently no custom element for<map-extent>
we should enable such a boolean attribute in preparation for creating a custom element version. Thechecked
attribute would in this case control the initial state of the extent when loaded and first displayed.Some issues that we may encounter:
basically no single-extent layers that we've created so far have a
checked
attribute, so we would have to go back and add a checked attribute for them to be on by default. In other words, a backwards-incompatibilty with existing contentonly
<map-extent>
elements that have alabel
attribute are exposed in the layer control, so if an unlabeled extent has itsopacity="0"
then checking / unchecking the layer will have no visual effect on the map, which could be hella confusing.for the latter issue, we could either change the behavior of the layer control to show those unlabeled extents anyway OR we could devise a rule whereby unlabeled extents with an opacity attribute are shown / have a label generated so that they're shown.
The text was updated successfully, but these errors were encountered: