
Research
SANDWORM_MODE: Shai-Hulud-Style npm Worm Hijacks CI Workflows and Poisons AI Toolchains
An emerging npm supply chain attack that infects repos, steals CI secrets, and targets developer AI toolchains for further compromise.
@terrestris/ol-describe-map
Advanced tools
Get a configurable textual description of an OpenLayers map, to e.g. enhance accessibility
The purpose of the ol-describe-map library is to provide configurable means of getting
a textual description of an OpenLayers map.
This description could enhance OpenLayers map applications by
The library ships with the most basic functionality to describe maps, which most applications will most likely adjust to their specific purpose. It is easy to configure more specific describers that take care of the specialties of your actual application.
By default a gathered map description is added to the aria-description-attribute of
the div-element of the map.
Install as dependency:
npm install @terrestris/ol-describe-map
Use it to describe your map, e.g. in a moveend-handler:
// import the describe function
import { describe } from '@terrestris/ol-describe-map';
// initialise your map as usual
const map = new Map({ /* configuration left-out for brevity */ });
// whenever the map's moveend event occurs, get a description
map.on('moveend', async () => {
let desc = await describe(map);
console.log(desc.text);
// …by default the aria-description attribute of the map-div is automatically
// updated with the description. This can be configured, of course.
});
// call the describe-function with a configuration object to adjust for your specific
// needs, see the examples below.
The library ships with some textual describers, and they can be quite useful as they are. But applications might have more specific ways of describing the map content, and you can easily pass your own describer:
// instead of the following line from the above example…
let desc = await describe(map);
// …you can create…
const myDescriber = async () => {
return 'HumptyDumpty';
};
// …and pass your own textual describer, e.g.
let desc = await describe(map, {textualDescriber: myDescriber});
Your own myDescriber function will receive objects with details of the view and all
layers that were described.
These examples are all based on the main-branch:
useGeographic()Typedoc for all exported types and functions again for the main-branch
# install dependencies
npm install
# run tests (also lints & does a typecheck)
npm test
# run tests in watch mode
npm run test:watch
# preview examples
npm run serve-examples
# examples are now listed under http://localhost:5173/
# build (library only)
npm run build
# build (examples only, rarely used)
npm run build-examples
# build (examples and library)
npm run build:all
# check the contents of the dist-folder
# cleanup build or coverage artifacts
npm run clean
FAQs
Get a configurable textual description of an OpenLayers map, to e.g. enhance accessibility
The npm package @terrestris/ol-describe-map receives a total of 8 weekly downloads. As such, @terrestris/ol-describe-map popularity was classified as not popular.
We found that @terrestris/ol-describe-map demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 17 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Research
An emerging npm supply chain attack that infects repos, steals CI secrets, and targets developer AI toolchains for further compromise.

Company News
Socket is proud to join the OpenJS Foundation as a Silver Member, deepening our commitment to the long-term health and security of the JavaScript ecosystem.

Security News
npm now links to Socket's security analysis on every package page. Here's what you'll find when you click through.