diff --git a/ACCESSIBILITY.md b/ACCESSIBILITY.md index 7463aed7b..b0cdab658 100644 --- a/ACCESSIBILITY.md +++ b/ACCESSIBILITY.md @@ -7,7 +7,8 @@ fail to serve some proportion of mappers. Broadly speaking, iD should strive to follow [universal design](https://en.wikipedia.org/wiki/Universal_design) principles. This is a living document that details the usability of iD across a number of dimensions, -with the intent of identifying and addressing problem areas. +with the intent of identifying and addressing problem areas. Since there are always more +factors to consider, no part of this document should be considered "complete". Symbols used in this document: @@ -30,7 +31,7 @@ elsewhere in this document. | | | Browser | Notes | Issues | |---|---|---|---|---| | ✅ | ![chrome logo] | Chrome | | -| ✅* | ![firefox logo] | Firefox | *Minor known issues | [#7132] | +| ✅* | ![firefox logo] | Firefox | \*Minor known issues | [#7132] | | ✅ | ![safari logo] | Safari | | | 🟩 | ![opera logo] | Opera | | | 🟩 | ![edge logo] | Edge | | @@ -52,20 +53,20 @@ elsewhere in this document. iD has traditionally assumed the mapper will be interacting via a mouse and keyboard, but realistically people want or need to use various other [input devices](https://en.wikipedia.org/wiki/Input_device). +iD relies on modern [pointer events](https://developer.mozilla.org/en-US/docs/Web/API/Pointer_events) for some interactions, so +some devices may see degraded functionality on older browsers. + ### Setups -The following table details iD's usability for different setups. A setup is where -a mapper is using only the device(s) listed in the row. +The following table lists iD's usability for different setups. A setup is where +a mapper is using only the device(s) given in the row. A setup with "full support" offers functionality equivalent to that of the highest-functioning setup (generally mouse and keyboard). Certain functions may be accessed differently on different setups, such as opening the edit menu via long-pressing instead of right-clicking. -Older browsers that don't support [pointer events](https://developer.mozilla.org/en-US/docs/Web/API/Pointer_events) -may see degraded functionality for some setups. - -| | | Input Setup | Notes | +| | | Input Setup | Notes | |---|---|---|---| | ✅ | 🖱⌨️ | [Mouse](https://en.wikipedia.org/wiki/Computer_mouse) + [keyboard](https://en.wikipedia.org/wiki/Computer_keyboard) | iD's original input paradigm. Any mouse-like device such as a [trackpad](https://en.wikipedia.org/wiki/Touchpad), [trackball](https://en.wikipedia.org/wiki/Trackball), or [pointing stick](https://en.wikipedia.org/wiki/Pointing_stick) is grouped into "mouse" for this table | | ❌ | ⌨️ | Keyboard only | Not all elements can necessarily be keyed to. Key traps may exists. Geometry editing isn't possible | @@ -77,6 +78,28 @@ may see degraded functionality for some setups. | 🤷 | 🗣 | [Voice](https://en.wikipedia.org/wiki/Voice_user_interface) | Tools like [Voice Control on macOS](https://support.apple.com/en-us/HT210539) and [Windows Speech Recognition](https://en.wikipedia.org/wiki/Windows_Speech_Recognition) allow navigating webpages with voice commands to some degree | | 🤷 | 🔘 | [Switch](https://en.wikipedia.org/wiki/Switch_access) | Tools like [Switch Control on macOS](https://support.apple.com/en-us/HT202865) can theoretically replicate mouse and keyboard interactions in most apps | +### Devices + +This table details iD's support for specific classes of input devices. + +"Full support" for a device means that iD reasonably handles its entire range of input on supported platforms. But unlike the "setups" table above, a given device is not necessarily expected to perform all of iD's functions. + +It's impractical to ensure every single input device works as expected, so the table only reflects the support status to the best of our knowledge. + +| | Input Device | Notes | Issues | +|---|---|---|---| +| ✅ | Single-button mouse | E.g. [Chester Mouse](https://duckduckgo.com/?q=chester+one+button+mouse&iar=images&iax=images&ia=images). Primary click (e.g. left-click) can be used for all pointer interactions. A long-click on map features opens the edit menu | +| ✅ | Multi-button mouse | Secondary click (e.g. right-click) can be used on map features to open the edit menu. Middle click, etc., are not needed by iD but are passed through to the browser | +| ✅ | Multi-touch mouse | E.g. [Magic Mouse](https://en.wikipedia.org/wiki/Magic_Mouse). 2D scrolling in the map is treated as panning, not zooming | +| 🟠 | Vertical [scroll wheel](https://en.wikipedia.org/wiki/Scroll_wheel) | Should zoom the map in and out | [#5550](https://github.com/openstreetmap/iD/issues/5550) | +| ❌ | Horizontal scroll wheel | Currently does nothing in the map | [#7134](https://github.com/openstreetmap/iD/issues/7134) | +| 🤷 | Scroll ball | E.g. in [Apple Mighty Mouse](https://en.wikipedia.org/wiki/Apple_Mighty_Mouse) | +| 🟩 | Trackball | | +| 🟩 | Trackpad | | +| ✅ | Multi-touch trackpad | E.g. [Magic Trackpad](https://en.wikipedia.org/wiki/Magic_Trackpad). Pinch-to-zoom and scroll-to-pan are supported in the map | +| 🟩 | Pointing stick | | +| ✅ | Keyboard | | + ## Language Support English is the language of tags and relation roles in the OpenStreetMap database.