Interface Lab
Back to knowledge
Data Visualization

Map Data Attribution and Alternatives

Map interfaces must separately record runtime library, tiles, styles, glyphs, sprites, geodata, and provider attribution, while providing list/table alternatives and keyboard-reachable paths.

Design Principle

A map is not a background image. It combines complex data visualization, interactive controls, and licensed materials; users must understand location, scope, selected object, data source, update time, and alternate access paths.

Large Theory

Web maps often stack several licensing layers: a runtime library such as MapLibre GL JS, map tiles or vector tiles, style JSON, glyphs, sprites, geodata, labels, boundaries, and basemap providers can each have separate sources and attribution requirements. Design and implementation must record these layers separately while keeping map, list, filters, details, and table synchronized. For some users, the map is not the best entry point; a list or table is the accessible primary path.

Small Points

  1. Recording the map runtime license is not the same as recording tile or geodata licenses. MapLibre's BSD runtime does not cover OSM, MapTiler, Stadia, Mapbox, or proprietary data attribution.
  2. Attribution should appear near the map and remain readable; it should not require hidden interaction before users can see it. Small-screen collapsed attribution must still meet provider requirements.
  3. Map, result list, filters, and detail panel share selected, hover, and focus state. Selecting a list item should locate it on the map, and selecting a map object should update details.
  4. Every map view shows scope, data update time, active filters, and object count so users know whether they are seeing all data or filtered results.
  5. Geospatial visualization needs alternate paths: list, table, data download, text summary, or regional grouping. Do not require drag/zoom as the only path.
  6. Layers, colors, and markers cannot rely only on hue; add legend, text, shape, size, or pattern redundancy.

Design Judgment

If users can close the map canvas and still find, compare, select, and understand source through list/table views, the map is an enhancement. If every object, attribution, and state exists only inside an unreadable canvas/WebGL layer, the map interface is neither auditable nor accessible.

Implementation Notes

Create a map intake record: runtime, style, tile provider, geodata source, license, attribution text/link, update time, projection, bounds, layers, legend, selected state, keyboard path, list/table fallback, and offline or low-performance fallback. With MapLibre, keep AttributionControl or a custom equivalent and test small screens, keyboard, reduced motion, low performance, and no-WebGL states. Provide a result list beside the map, and keep selected object and data source visible in details.

Counterexamples/Risks

Writing only MapLibre BSD while omitting tiles and geodata source, hiding attribution in an invisible corner, mobile controls covering markers, fullscreen maps with no list, hover-only tooltips with no keyboard alternative, choropleth colors without a legend, and missing boundary-data update time.

Case Study

MapLibre AttributionControl presents map attribution and includes responsive compact options. OpenStreetMap Foundation attribution guidelines require attribution to be presented to anyone who views or interacts with the map, near the produced work and in a legible, understandable way. W3C WAI classifies maps as complex images that need more than short alt text. USWDS data-visualization guidance frames usability and accessibility as complementary. The reusable lesson is that map design must govern licensing, interaction state, and alternate data paths together.

Source Links

MapLibre AttributionControl: https://www.maplibre.org/maplibre-gl-js/docs/API/classes/AttributionControl/ MapLibre AttributionControlOptions: https://www.maplibre.org/maplibre-gl-js/docs/API/type-aliases/AttributionControlOptions/ OpenStreetMap Attribution Guidelines: https://osmfoundation.org/wiki/Licence/Attribution_Guidelines W3C WAI Complex Images: https://www.w3.org/WAI/tutorials/images/complex/ USWDS Data Visualizations: https://designsystem.digital.gov/components/data-visualizations/

Agent Directive

Before generating a map interface, list runtime, tiles, style, glyph/sprite, geodata, provider attribution, update time, and list/table alternative; do not deliver only a fullscreen map canvas.