UI patterns in existing web map widgets

Nic Chan

24 September 2020
W3C/OGC Joint Workshop Series on Maps for the Web
w3.org/2020/maps/

Definitions

Widgets
An embeddable map, typically in an iframe or something similar that requires minimal code to implement.
Client-side Mapping APIs
JavaScript Libraries that allow website developers to create more customized map viewers.
Accessibility
The degree to which these maps are usable by disabled people.
WCAG (Web Content Accessibility Guidelines)
A series of guidelines by the W3C in order to provide a shared standard for developing accessible web content.

Tools Reviewed

https://tinyurl.com/wcag-maps by Robert Linder

Non-text Content

5/11 tools failed

Example techniques

<img src="logo.svg" alt="[Vendor] Logo"> <button aria-label="Zoom In">+</button>

Info & Relationships

11/11 tools failed

Example technique

<button aria-label="Zoom In" disabled>+</button>

Contrast (minimum)

Map library that has lacking contrast between the medium blue text label and the light blue ocean background

9/11 tools failed

Keyboard

7/11 tools failed

<-- Use this -->
<button>Please just style me</button>
<-- Not this -->
<a href="#">I'm not a button, I'm a link!</a>

Character Key Shortcuts

1/11 tools failed

If a keyboard shortcut is implemented in content using only letter, punctuation, number, or symbol characters, then one of these alternatives must available:

  1. Turn off
  2. Remap
  3. Active only on focus. This technique is the de-facto standard in web maps.

Focus Order

2/11 tools failed

Interactable elements should be focusable according to the reading order.

Focus Order Example

Google Maps focus order diagram
  1. "Google Maps Frame"
  2. "Terms of Use link"
  3. "View Larger Map link"
  4. "Zoom in button"
  5. "Zoom out button"
  6. "Clickable"

Focus Visible

Google Maps and the default Chrome focus ring

7/11 tools failed

Language of parts

9/11 tools failed

Content should have a lang attribute.

<-- Parent level language -->
<html lang="en">

<-- String level language -->
<span lang="zh">香港</span>

On Input

2/11 tools failed

Tomtom maps page scrolls as you try pan the map with arrow keys

Thank you!

nic@nicchan.me

24 September 2020
W3C/OGC Joint Workshop Series on Maps for the Web
w3.org/2020/maps/