{"id":24152341,"url":"https://github.com/nfreear/leaflet.plugins","last_synced_at":"2025-06-28T17:04:54.195Z","repository":{"id":192137928,"uuid":"686130997","full_name":"nfreear/leaflet.plugins","owner":"nfreear","description":"A collection of accessibility and localisation/ translation plugins for Leaflet.js","archived":false,"fork":false,"pushed_at":"2023-10-30T18:47:46.000Z","size":739,"stargazers_count":2,"open_issues_count":15,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-04-12T05:09:06.029Z","etag":null,"topics":["a11y","accessibility","i18n","internationalization","leaflet","leafletjs","localization","map","plugin"],"latest_commit_sha":null,"homepage":"https://nfreear.github.io/leaflet.plugins/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nfreear.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":"ROADMAP.md","authors":null}},"created_at":"2023-09-01T20:28:26.000Z","updated_at":"2023-10-27T07:25:50.000Z","dependencies_parsed_at":null,"dependency_job_id":"d8d1968d-0d58-4c35-b8d3-161f81230228","html_url":"https://github.com/nfreear/leaflet.plugins","commit_stats":{"total_commits":72,"total_committers":1,"mean_commits":72.0,"dds":0.0,"last_synced_commit":"1fc5ad8160a7b2c45cd96f63653a1d26220c85c8"},"previous_names":["nfreear/leaflet.a11y","nfreear/leaflet.plugins"],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nfreear%2Fleaflet.plugins","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nfreear%2Fleaflet.plugins/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nfreear%2Fleaflet.plugins/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nfreear%2Fleaflet.plugins/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nfreear","download_url":"https://codeload.github.com/nfreear/leaflet.plugins/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241411919,"owners_count":19958827,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["a11y","accessibility","i18n","internationalization","leaflet","leafletjs","localization","map","plugin"],"created_at":"2025-01-12T10:15:44.647Z","updated_at":"2025-03-01T19:21:32.326Z","avatar_url":"https://github.com/nfreear.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Node.js CI][ci-img]][ci]\n[![Leaflet 1.9.4][leaflet-img]][leaflet]\n\n# Leaflet Plugins\n\nA collection of accessibility and localisation/ translation plugins for [Leaflet][].\n\n| Plugin               | Description                               | NPM     |\n|----------------------|-------------------------------------------|---------|\n|[Leaflet.a11y][]      | An accessibility and localization plugin  | [![NPM][npm-a-img]][npm-a] |\n|[Leaflet.translate][] | Translations/ language packs for Leaflet core and plugins| [![NPM][npm-t-img]][npm-t] |\n|[L.keyboard-help][]   | A control to display help for keyboard shortcuts  | [![NPM][npm-k-img]][npm-k] |\n\n* See: [Changelog][]\n* See: [Roadmap][]\n* Demo: [nfreear.github.io/leaflet.plugins][demo]\n\n## Aim\n\nThis plugin does _NOT_ replace [accessibility][] efforts in [core Leaflet][bugs]. It is a means to provide interim fixes, and potentially to test fixes.\n\nThe aim for this plugin is for it to become obsolete and to retire it, because sufficient accessibility fixes and enhancements have been made to core Leaflet. For more see [#14][].\n\n## What is “A11y“?\n\n“A11y“ is a numeronym – an abbreviation for accessibility. It is often pronounced “alley“ (see [#10][]).\n\n## Leaflet.i18n plugin optional\n\nIf available, `Leaflet.a11y` uses the [Leaflet.i18n][] internationalisation plugin.\n\nIf the `Leaflet.i18n` plugin is not available, a shim is provided for the `L._()` translation function.\n\n## What it does\n\nThe plugin currently does the following:\n\n1. Set a `role` and `aria-label` on the Leaflet map container element (see [L-7193][]).\n2. Manage keyboard focus when popups are opened and closed (see [L-8115][]).\n3. Fix so non-interactive markers are correctly identified ([L-8116][])\n4. Enable map controls (Zoom in, Zoom out, Close popup, ...) to be translated into a language that has been set with `setLocale` ([Leaflet.i18n][]). Mostly relevant for accessibility, as most text is hidden from visual users ([L-9092][]).\n\nMore to follow!\n\n## Usage\n\nInclude or `import` core Leaflet and the plugins:\n\n```html\n\u003cscript src=\"path/to/leaflet.js\"\u003e\u003c/script\u003e\n\u003cscript src=\"path/to/Leaflet.i18n.js\"\u003e\u003c/script\u003e\n\u003cscript src=\"path/to/Leaflet.a11y.js\"\u003e\u003c/script\u003e\n```\n\nThen, simply set the `a11yPlugin` option when creating a map:\n\n```js\nvar map = L.map('map', {\n  a11yPlugin: true\n  // ...\n}).setView([51.505, -0.09], 13);\n\n// ...\n```\n\n## Build and Test\n\n```\nnpm install\nnpm run build\nnpm test\nnpm start\n```\n\nFeedback, contributions and pull requests are welcomed!\n\n---\nLicense: [MIT][].\n\n[roadmap]: https://github.com/nfreear/leaflet.plugins/blob/main/ROADMAP.md\n[changelog]: https://github.com/nfreear/leaflet.plugins/blob/main/CHANGELOG.md\n[ci]: https://github.com/nfreear/leaflet.plugins/actions/workflows/node.js.yml\n[ci-img]: https://github.com/nfreear/leaflet.plugins/actions/workflows/node.js.yml/badge.svg\n[leaflet-img]: https://img.shields.io/badge/leaflet-1.9.4-green.svg?style=flat\n[demo]: https://nfreear.github.io/leaflet.plugins/\n[Leaflet]: https://leafletjs.com/\n[accessibility]: https://leafletjs.com/examples/accessibility/\n[Leaflet.i18n]: https://github.com/umap-project/Leaflet.i18n\n[MIT x]: https://nfreear.mit-license.org/\n[MIT]: https://github.com/nfreear/leaflet.plugins/blob/main/LICENSE\n[#10]: https://github.com/nfreear/leaflet.plugins/issues/10\n  \"What is “a11y”? #10\"\n[#14]: https://github.com/nfreear/leaflet.plugins/issues/14\n  \"“I want to retire” #14\"\n[bugs]: https://github.com/Leaflet/Leaflet/labels/accessibility\n[L-7193]: https://github.com/Leaflet/Leaflet/issues/7193\n  \"Make the leaflet-container a programmatically determinable element\"\n[L-8115]: https://github.com/Leaflet/Leaflet/issues/8115\n  \"Focus management between markers and popups\"\n[L-8116]: https://github.com/Leaflet/Leaflet/issues/8116\n  \"Discern interactive markers from non-interactive markers\"\n[L-9092]: https://github.com/Leaflet/Leaflet/issues/9092\n  \"feat: Add placeholder function for translation/localization/i18n to Leaflet\"\n[L-9087]: https://github.com/Leaflet/Leaflet/pull/9087\n  \"Add the 'Leaflet.a11y' to plugin list\"\n[Maps WCAG eval]: https://github.com/Malvoz/web-maps-wcag-evaluation\n  \"Web map tools WCAG 2.1 evaluation - A manual accessibility evaluation of popular web map tools.\"\n\n[Leaflet.a11y]: https://github.com/nfreear/leaflet.a11y/tree/main/packages/leaflet.a11y\n[Leaflet.translate]: https://github.com/nfreear/leaflet.a11y/tree/main/packages/Leaflet.translate\n[L.keyboard-help]: https://github.com/nfreear/leaflet.a11y/tree/main/packages/L.keyboard-help\n\n[npm-a]: https://www.npmjs.com/package/leaflet.a11y\n[npm-a-img]: https://img.shields.io/npm/v/leaflet.a11y\n[npm-t]: https://www.npmjs.com/package/leaflet.translate\n[npm-t-img]: https://img.shields.io/npm/v/leaflet.translate\n[npm-k]: https://www.npmjs.com/package/l.keyboard-help\n[npm-k-img]: https://img.shields.io/npm/v/l.keyboard-help\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnfreear%2Fleaflet.plugins","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnfreear%2Fleaflet.plugins","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnfreear%2Fleaflet.plugins/lists"}