Repository navigation
Conversation
✅ Deploy Preview for iotmapcomponent ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
sebnic
force-pushed
the
feat/svg-accessibility
branch
from
October 15, 2026 12:18
d34c6b7 to
5fcb6af
Compare
Support Enter and Space activation, Escape dismissal, and visible focus indicators. Keep popup controls usable without activating their parent, and synchronize aria-expanded with popup visibility. Add a Storybook example with marker and cluster popups to inspect their keyboard behavior. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Add an optional ariaLabel on markers, manual clusters, user markers, paths (line, additional lines and start/end/position icons) and areas, plus the accessibility.clusterAriaLabel config function for automatic clusters. Labels are set as DOM attributes and nothing changes when unset. Support accessible name updates and removal through marker, manual cluster and user marker update APIs, including bulk updates. Document the option and update semantics in the readme, add an AccessibleNames story and bump the library minor version to 2.7.0-alpha.1. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
sebnic
force-pushed
the
feat/svg-accessibility
branch
from
October 15, 2026 18:38
5fcb6af to
3688d2d
Compare
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This pull request adds comprehensive keyboard accessibility support to the map, markers, clusters, and controls, along with accessible naming for interactive elements. It introduces new CSS focus styles, updates the documentation, and refactors icon generation to support ARIA labeling. The version is bumped to
2.7.0-alpha.1.Accessibility and Keyboard Interaction Improvements:
src/iotMapManager/src/iot-map-manager.tssrc/iotMapManager/src/iot-map-manager.tsR76-R144)src/iotMapManager/css/map.css[1]src/iotMapManager/css/markers.css[2]src/iotMapManager/css/markers.css[1]src/iotMapManager/css/popup.css[2] [3] [4] [5]src/iotMapManager/css/tabs.css[6]ARIA and Accessible Naming:
src/iotMapManager/src/iot-map-icons.ts[1] [2] [3] [4] [5]src/iotMapManager/src/iot-map-area.ts[6] [7]IotMapConfigwith anaccessibilitysection, allowing configuration of cluster ARIA labels for automatic clusters. (src/iotMapManager/src/iot-map-config.ts[1] [2]Documentation and Versioning:
src/iotMapManager/readme.md[1] [2]2.7.0-alpha.1inpackage.jsonandpackage-lock.json. [1] [2]Add an opt-in configuration to hide generated icon SVGs from assistive technology while preserving map interactions and custom content.Document configuration and scope, and bump the library minor version to 2.7.
This pull request adds comprehensive keyboard accessibility and SVG accessibility features to the map manager, along with the necessary CSS and documentation updates. It introduces visible focus indicators, keyboard navigation for markers, clusters, and zoom controls, and an option to exclude library-generated SVG icons from the accessibility tree. The changes also ensure that interactive elements inside popups behave correctly for both mouse and keyboard users.
Accessibility and Keyboard Interaction Enhancements:
map.cssandmarkers.css, improving keyboard navigation feedback. [1] [2]markers.css,popup.css, andtabs.cssto show popups and hide tabs when clusters or markers are focused via keyboard, matching hover behavior and supporting keyboard navigation. [1] [2] [3] [4] [5]SVG Accessibility Option:
accessibility.hideSvgFromAssistiveTechnologyconfig option inIotMapConfig, allowing applications to setaria-hidden="true"on all library-generated SVG icons (markers, clusters, user markers, paths) to exclude them from the accessibility tree. [1] [2] [3] [4] [5] [6] [7] [8]Interactive Icon and Popup Behavior:
L.DivIconwith a customInteractiveDivIconto ensure that interactive controls (links, buttons, etc.) inside popups do not trigger marker or cluster actions when activated, preserving native behavior for keyboard and mouse users. [1] [2] [3]Documentation Updates:
readme.mdwith detailed sections on keyboard accessibility and the new SVG accessibility configuration, including usage instructions, behavioral notes, and manual validation steps. [1] [2]Version Bump:
package.jsonandpackage-lock.jsonto version2.7.0-alpha.1to reflect these significant accessibility improvements. [1] [2]0-alpha.1 with synchronized lockfile references.This pull request adds comprehensive accessibility features to the map library, focusing on keyboard navigation, visible focus indicators, and accessible names for markers, clusters, paths, and areas. It introduces new CSS for focus styling, updates the documentation, and modifies the icon rendering logic to support
aria-labelandaria-expandedattributes. These changes make the map more usable for keyboard and assistive technology users, while maintaining existing mouse and touch interactions.Accessibility and keyboard navigation enhancements:
map.css,markers.css). [1] [2]markers.css,popup.css,tabs.css). [1] [2] [3] [4] [5] [6]Accessible names and ARIA attributes:
ariaLabelsupport for markers, clusters, user markers, areas, and paths, and added a configuration option for cluster accessible names viaclusterAriaLabelfunction (iot-map-config.ts,iot-map-icons.ts,iot-map-area.ts). [1] [2] [3] [4] [5] [6] [7] [8]AccessibleDivIconandInteractiveDivIconclasses, which applyaria-labeland managearia-expandedstate dynamically for markers and clusters (iot-map-icons.ts). [1] [2] [3] [4] [5]Documentation updates:
readme.md). [1] [2]Version bump:
2.7.0-alpha.1to reflect these significant accessibility improvements (package.json,package-lock.json). [1] [2]Cluster and marker update logic:
ariaLabeltriggers a redraw and updates the accessible name in the DOM (iot-map-cluster-manager.ts).These changes collectively make the map library much more accessible and user-friendly for keyboard and assistive technology users, while maintaining backward compatibility and existing interactive behaviors.