From 9214320205cea94f0c8e305243a063411fb142d5 Mon Sep 17 00:00:00 2001 From: Sebastian Felix Zappe Date: Sun, 23 Jun 2024 22:02:37 +0200 Subject: [PATCH] Updates --- 0-usage/index.html | 142 ++++++----- 1-example-data/index.html | 223 ------------------ 1-who-uses-a11yjson/index.html | 98 ++++++++ 2-who-uses-a11yjson/index.html | 98 -------- 404.html | 2 +- .../index.html | 2 +- .../copytext-accessibility/index.html | 34 +-- .../describe-objects-not-people/index.html | 2 +- best-practices/rating-scales/index.html | 4 +- describing-objects/0-model/index.html | 102 ++++++++ describing-objects/0-quantities/index.html | 30 +-- describing-objects/constants/index.html | 6 +- describing-objects/interfaces/index.html | 102 -------- describing-objects/type-aliases/index.html | 6 +- example-data/0-place/index.html | 129 ++++++++++ example-data/canteen/index.html | 219 +++++++++++++++++ example-data/cinema/index.html | 127 ++++++++++ example-data/elevator/index.html | 127 ++++++++++ example-data/museum/index.html | 137 +++++++++++ example-data/wash-basin/index.html | 208 ++++++++++++++++ faq/index.html | 101 +++++++- i18n/index.html | 14 +- index.html | 22 +- search/search_index.json | 2 +- sitemap.xml | 69 ++++-- sitemap.xml.gz | Bin 400 -> 436 bytes x-contributing/index.html | 16 +- 27 files changed, 1433 insertions(+), 589 deletions(-) delete mode 100644 1-example-data/index.html create mode 100644 1-who-uses-a11yjson/index.html delete mode 100644 2-who-uses-a11yjson/index.html create mode 100644 describing-objects/0-model/index.html delete mode 100644 describing-objects/interfaces/index.html create mode 100644 example-data/0-place/index.html create mode 100644 example-data/canteen/index.html create mode 100644 example-data/cinema/index.html create mode 100644 example-data/elevator/index.html create mode 100644 example-data/museum/index.html create mode 100644 example-data/wash-basin/index.html diff --git a/0-usage/index.html b/0-usage/index.html index d807c8c..76945b0 100644 --- a/0-usage/index.html +++ b/0-usage/index.html @@ -1,4 +1,4 @@ - Usage - A11yJSON
Skip to content

Usage

Installing the npm module

npm install --save @sozialhelden/a11yjson
-

Basics

A11yJSON's reference provides a documentation of all available interfaces and has example A11yJSON objects.

For each interface X you find in the reference, the a11yjson npm module provides

  1. a TypeScript interface X (if you use TypeScript)
  2. a SimpleSchema instance named XSchema to validate and sanitize objects to be correct A11yJSON

TypeScript usage

import { PlaceInfo } from '@sozialhelden/a11yjson';
-
-const placeInfo: PlaceInfo = {
-  geometry: { type: Point, coordinates: [2.376757, 48.898991] },
-  properties: {
-    category: "cinema",
-    name: "Ciné XY",
-    accessibility: {
-      accessibleWith: {
-        guideDog: true,
-        wheelchair: true,
-      },
-      media: [
-        {
-          type: 'movie',
-          interactions: {
-            watch: {
-              perception: {
-                languages: ['fr'],
-                dedicatedScreenForSubtitles: true,
-                subtitles: true,
-                audioDescription: true,
-                byod: true,
-                educationLevel: 3,
-                visual: true,
-                realTimeCaptioning: true,
-                signLanguage: true,
-              }
-            }
-          }
-        }
-      ]
-    }
-  }
-}
-

The TypeScript compiler will validate definitions at compile time.

Validating A11yJSON objects at runtime

The following code imports one interface schema, PlaceInfoSchema, from A11yJSON, and validates an object against it.

If the object isn't valid, you get a detailed error object as validation result.

import { getPlaceInfoSchemaDefinition } from '@sozialhelden/a11yjson';
-
-const PlaceInfoSchema = new SimpleSchema(getPlaceInfoSchemaDefinition());
-
-// This could be your GeoJSON feature.
-
-const myGeoJSONFeature = {
-  geometry: {  }
-  properties: {  }
-};
-
-// See https://github.com/aldeed/simple-schema-js for the full documentation
-// of how validation works.
-
-const validationContext = PlaceInfoSchema.newContext();
-
-// Sanitizes the input object.
-// Converts types to match the schema where possible, and converts quantity
-// strings like '12 inches' to Quantity objects like { value: 12, unit: 'inch' }.
-
-const sanitizedGeoJSONFeature = PlaceInfoSchema.clean(myGeoJSONFeature);
-
-// Checks if the GeoJSON is a valid A11yJSON’s `PlaceInfo`.
-
-validationContext.validate(sanitizedGeoJSONFeature);
-
-if (!validationContext.isValid()) {
-  const errors = validationContext.validationErrors();
-
-  // `errors` is a JSON object with detailled validation infos about each field
-  // in the input object.
-
-  console.log(errors);
-}
-
\ No newline at end of file +
Skip to content

Usage

You can use A11yJSON in any project that supports nested, JSON-like data structures or classes.

Best support is available for:

TypeScript, Node.js, Browsers (CommonJS/ES modules).

Usage is, of course, not limited to these environments – we encourage you to use the same structures in your Python, Rust, Java, Swift, PHP, … project!

Feel free to contribute automatically type generation for your favorite programming environment and create an issue if you plan to do this.

Installing the npm module

npm install --save @sozialhelden/a11yjson
+

Basics

A11yJSON's reference provides a documentation of the A11yJSON data model.

For each interface X you find in the reference, the a11yjson npm module provides

  1. a TypeScript interface X (if you use TypeScript)
  2. a SimpleSchema instance named XSchema to validate and sanitize objects to be correct A11yJSON

TypeScript usage

import { PlaceInfo } from '@sozialhelden/a11yjson';
+
+const placeInfo: PlaceInfo = {
+  geometry: { type: Point, coordinates: [2.376757, 48.898991] },
+  properties: {
+    category: "cinema",
+    name: "Ciné XY",
+    accessibility: {
+      accessibleWith: {
+        guideDog: true,
+        wheelchair: true,
+      },
+      media: [
+        {
+          type: 'movie',
+          interactions: {
+            watch: {
+              perception: {
+                languages: ['fr'],
+                subtitles: "always",
+                audioDescription: "sometimes",
+                byod: "optional",
+                educationLevel: 3,
+                visual: "optional",
+                signLanguage: "optional",
+              }
+            }
+          }
+        }
+      ]
+    }
+  }
+}
+

The TypeScript compiler will validate definitions at compile time.

Validating A11yJSON objects at runtime

The following code imports one interface schema, PlaceInfoSchema, from A11yJSON, and validates an object against it.

If the object isn't valid, you get a detailed error object as validation result.

import { getPlaceInfoSchemaDefinition } from '@sozialhelden/a11yjson';
+
+const PlaceInfoSchema = new SimpleSchema(getPlaceInfoSchemaDefinition());
+
+// This could be your GeoJSON feature.
+
+const myGeoJSONFeature = {
+  geometry: {  }
+  properties: {  }
+};
+
+// See https://github.com/aldeed/simple-schema-js for the full documentation
+// of how validation works.
+
+const validationContext = PlaceInfoSchema.newContext();
+
+// Sanitizes the input object.
+// Converts types to match the schema where possible, and converts quantity
+// strings like '12 inches' to Quantity objects like { value: 12, unit: 'inch' }.
+
+const sanitizedGeoJSONFeature = PlaceInfoSchema.clean(myGeoJSONFeature);
+
+// Checks if the GeoJSON is a valid A11yJSON’s `PlaceInfo`.
+
+validationContext.validate(sanitizedGeoJSONFeature);
+
+if (!validationContext.isValid()) {
+  const errors = validationContext.validationErrors();
+
+  // `errors` is a JSON object with detailled validation infos about each field
+  // in the input object.
+
+  console.log(errors);
+}
+
\ No newline at end of file diff --git a/1-example-data/index.html b/1-example-data/index.html deleted file mode 100644 index 5dbd1e3..0000000 --- a/1-example-data/index.html +++ /dev/null @@ -1,223 +0,0 @@ - Example data - A11yJSON
Skip to content

Example data

PlaceInfo

This JSON describes a tourism office in Saxonia, Germany, as PlaceInfo with PlaceProperties. It has wheelchair accessible parking. The restrooms are wheelchair accessible. Despite having a level entrance (no steps), the building is only partially accessible with a wheelchair:

{
-  "geometry": { "type": "Point", "coordinates": [11.14204, 51.78911] },
-  "properties": {
-    "category": "tourism",
-    "name": "Quedlinburg-Information",
-    "accessibility": {
-      "parking": {
-        "forWheelchairUsers": { "isAvailable": true }
-      },
-      "entrances": [
-        { "isLevel": true }
-      ],
-      "restrooms": [
-        { "isAccessibleWithWheelchair": false }
-      ],
-      "accessibleWith": { "guideDog": true },
-      "partiallyAccessibleWith": { "wheelchair": true }
-    },
-    "infoPageUrl": "http://...",
-    "phoneNumber": "+49 3946 905-624",
-    "placeWebsiteUrl": "https://www.quedlinburg.de",
-    "address": {
-      "street": "Markt 4 ",
-      "postcode": "06484 ",
-      "city": "Quedlinburg",
-      "state": "Sachsen-Anhalt",
-      "country": "Deutschland",
-      "countryCode": "DE"
-    },
-  }
-}
-

A cinema that is dog-friendly and wheelchair accessible, offering audio descriptions

{
-  "geometry": { "type": "Point", "coordinates": [2.376757, 48.898991] },
-  "properties": {
-    "category": "cinema",
-    "name": "Ciné XY",
-    "accessibility": {
-      "accessibleWith": {
-        "guideDog": true,
-        "wheelchair": true,
-      },
-      "offersActivitiesForPeopleWith": {
-        "visuallyImpairment": true,
-      }
-    }
-  }
-}
-

A restaurant with a braille menu

{
-  "properties": {
-    "category": "restaurant",
-    "accessibility": {
-      "media": [
-        { "type": "menu", "isBraille": true }
-      ]
-    }
-  }
-}
-

A museum with a guided tour in German Sign Language

See also (language code "gsg" or "sgn-gsg").

{
-  "properties": {
-    "category": "museum",
-    "accessibility": {
-      "media": [
-        { "type": "tour", "languages": ["sgn-gsg"] }
-      ]
-    }
-  }
-}
-

A museum with tactile models

Variant 1

{
-  "properties": {
-    "category": "museum",
-    "accessibility": {
-      "media": [
-        {
-          "type": "exhibit",
-          "accessMode": ["tactile"],
-          "accessModeSufficient": ["tactile"],
-          "name": { "en": "Collection of tactile models" }
-        }
-      ]
-    }
-  }
-}
-

Variant 2

{
-  "properties": {
-    "category": "museum",
-    "accessibility": {
-      "media": [
-        {
-          "type": "exhibit",
-          "isTactile": true,
-          "name": { "en": "Collection of tactile models" }
-        }
-      ]
-    }
-  }
-}
-

EquipmentInfo

An EquipmentInfo record for an elevator in Berlin that is in service, including realtime operational status information

{
-  "geometry": { "type": "Point", "coordinates": [13.343837, 52.536183] },
-  "properties": {
-    "category": "elevator",
-    "isWorking": true,
-    "originalId": "283",
-    "originalPlaceInfoId": "900001201",
-    "placeInfoId": "HKewiFCNgCCQS3ErP",
-    "shortDescription": "Fußgängertunnel U-/S-Bahnsteig ⟷ U-Bahnsteig",
-    "description": "Fußgängertunnel, U- und S-Bahnsteig, und U-Bahnsteig",
-    "longDescription": "zwischen dem Fußgängertunnel, dem U- und S-Bahnsteig, und dem U-Bahnsteig",
-  }
-}
-

A elevator in Hamburg with accessibility features that is out of service

{
-  "geometry": { "type": "Point", "coordinates": [10.067907, 53.581786] },
-  "properties": {
-    "category": "elevator",
-    "isWorking": false,
-    "shortDescription": "Straßenebene ⟷ Schalterhalle",
-    "description": "zwischen Straßenebene und Schalterhalle",
-    "longDescription": "zwischen der Straßenebene und der Schalterhalle",
-    "placeInfoId": "4xaRom9QqMAxgxQnx",
-    "accessibility": {
-      "hasBrailleText": true,
-      "hasSpeech": true,
-      "hasDoorsInBothDirections": false
-    },
-  }
-}
-
\ No newline at end of file diff --git a/1-who-uses-a11yjson/index.html b/1-who-uses-a11yjson/index.html new file mode 100644 index 0000000..0457a2f --- /dev/null +++ b/1-who-uses-a11yjson/index.html @@ -0,0 +1,98 @@ + Who uses A11yJSON? - A11yJSON
Skip to content

Who uses A11yJSON?

The following organizations / products use A11yJSON.

  • Several cities in Germany, for example Karlsruhe, Potsdam, and Augsburg, use A11yJSON to collect data about the accessibility of their buildings.
  • Wheelmap.org, world's biggest open online map for accessible places.
  • accessibility.cloud, an A11yJSON-based accessibility data exchange. Apps can consume existing A11yJSON datasets from accessibility.cloud's API.
  • I Wheel Share, a French NGO that has created a chatbot for discovering accessible places all over France.
  • ImmoScout24, a real estate platform in Germany and Austria, to show accessible places of interest around apartments and houses.
  • WheelPilot, a pilot to explore accessibility in car navigation, by Daimler AG.
  • Gelbe Seiten, Germany's Yellow Pages.
  • brokenlifts.org, to display alerts about broken lifts in German public transit networks.

Contact us if you want your organization to show up on this list.

\ No newline at end of file diff --git a/2-who-uses-a11yjson/index.html b/2-who-uses-a11yjson/index.html deleted file mode 100644 index 86a3e33..0000000 --- a/2-who-uses-a11yjson/index.html +++ /dev/null @@ -1,98 +0,0 @@ - Who uses A11yJSON? - A11yJSON
Skip to content

Who uses A11yJSON?

The following organizations / products use A11yJSON.

  • Several cities in Germany, for example Karlsruhe, Potsdam, and Augsburg, use A11yJSON to collect data about the accessibility of their buildings.
  • Wheelmap.org, world's biggest open online map for accessible places.
  • accessibility.cloud, an A11yJSON-based accessibility data exchange. Apps can consume existing A11yJSON datasets from accessibility.cloud's API.
  • I Wheel Share, a French NGO that has created a chatbot for discovering accessible places all over France.
  • ImmoScout24, a real estate platform in Germany and Austria, to show accessible places of interest around apartments and houses.
  • WheelPilot, a pilot to explore accessibility in car navigation, by Daimler AG.
  • Gelbe Seiten, Germany's Yellow Pages.
  • brokenlifts.org, to display alerts about broken lifts in German public transit networks.

Contact us if you want your organization to show up on this list.

\ No newline at end of file diff --git a/404.html b/404.html index 697855f..3b5cbac 100644 --- a/404.html +++ b/404.html @@ -95,4 +95,4 @@ } } } -
\ No newline at end of file +
\ No newline at end of file diff --git a/best-practices/bad-examples-and-how-to-improve-them/index.html b/best-practices/bad-examples-and-how-to-improve-them/index.html index 9057e19..df8fe91 100644 --- a/best-practices/bad-examples-and-how-to-improve-them/index.html +++ b/best-practices/bad-examples-and-how-to-improve-them/index.html @@ -95,4 +95,4 @@ } } } -
Skip to content

Bad examples and how to improve them

Do’s and Don’ts

The table below displays Do’s and Don’ts of accessibility characterizations.

Bad example Recommendation
‘The place is not accessible in a wheelchair’ ‘There is one step at the entrance, its height is 2 inches’
‘The place has offers for blind people’ Explain the available facilities, e.g. audio description, tactile ground surfaces, or that a restaurant menu is available in Braille text.
‘The sitemap is accessible for blind people’ ‘The sitemap is available in braille’ or ‘The sitemap has high contrast and uses big fonts’
‘The staff is trained in accomodating people with disabilities’ Explain which facilities or services exist in detail.
‘Wheelchair users gave this place ⅗ stars’ Explain the facilities wheelchair users can find at the place. Is there a step at the entrance? A wheelchair-accessible toilet? Do you need a special key to open the door? If this is too complex, you can offer a traffic light system like Wheelmap.org - but if you do so, the criteria for red/yellow/green must be easy to find in the UI, and the rating must be guided to get consistent data. If you use a traffic light system, use more than colors to differentiate between different levels of accessibility - your color-blind audience will thank you!

Examples of helpful, measurable data points

  • ‘The entrance has an automatic door’
  • ‘The entrance has one step with 4cm height
  • ‘There is a braille sitemap with raised letters and shapes’
  • ‘There are side rails with braille navigation’
  • ‘All floors have tactile paving’
  • ‘All elevators have speech output, but no braille controls’
  • ‘The audition hall has an induction loop’
  • ‘The menu has a photo of each dish’
\ No newline at end of file +
Skip to content

Bad examples and how to improve them

Do’s and Don’ts

The table below displays Do’s and Don’ts of accessibility characterizations.

Bad example Recommendation
‘The place is not accessible in a wheelchair’ ‘There is one step at the entrance, its height is 2 inches’
‘The place has offers for blind people’ Explain the available facilities, e.g. audio description, tactile ground surfaces, or that a restaurant menu is available in Braille text.
‘The sitemap is accessible for blind people’ ‘The sitemap is available in braille’ or ‘The sitemap has high contrast and uses big fonts’
‘The staff is trained in accomodating people with disabilities’ Explain which facilities or services exist in detail.
‘Wheelchair users gave this place ⅗ stars’ Explain the facilities wheelchair users can find at the place. Is there a step at the entrance? A wheelchair-accessible toilet? Do you need a special key to open the door? If this is too complex, you can offer a traffic light system like Wheelmap.org - but if you do so, the criteria for red/yellow/green must be easy to find in the UI, and the rating must be guided to get consistent data. If you use a traffic light system, use more than colors to differentiate between different levels of accessibility - your color-blind audience will thank you!

Examples of helpful, measurable data points

  • ‘The entrance has an automatic door’
  • ‘The entrance has one step with 4cm height
  • ‘There is a braille sitemap with raised letters and shapes’
  • ‘There are side rails with braille navigation’
  • ‘All floors have tactile paving’
  • ‘All elevators have speech output, but no braille controls’
  • ‘The audition hall has an induction loop’
  • ‘The menu has a photo of each dish’
\ No newline at end of file diff --git a/best-practices/copytext-accessibility/index.html b/best-practices/copytext-accessibility/index.html index 0c81b4d..a654536 100644 --- a/best-practices/copytext-accessibility/index.html +++ b/best-practices/copytext-accessibility/index.html @@ -95,20 +95,20 @@ } } } -
Skip to content

Copytext accessibility, the opportunity you likely missed

If you design user interfaces, you know that written text in your product has a significant impact on its user experience: Crafting concise copytext is tricky, but worth it. Vice-versa: mediocre copytext or typography ruins an app's credibility. If your app plays a vital role for somebody, faulty wording might have consequences that ruin their day.

Even if you know a tad about accessibility labels, you might have missed the following simple opportunity to improve your copytext.

Increase variance in titles

Product titles, service names, anything with a title: These words in your app can be the most crucial piece of information. Yet, most database models represent each name with one single string. Either this tring has a lot of details and keywords (if the SEO department won an argument), or is very short (if the UX/UI department wins).

For image uploads, alternative text input fields are beginning to appear. For example, on Twitter, you can add a caption text for an image you upload. Added captions make images more accessible - to humans and machines alike.

But why don't we routinely create multiple variants of a title itself? In the data model?

If you design the software for authoring this title content, nobody holds you back from displaying some input fields more. So if something in your data (let's say, a product) has a title attribute, how about letting your editors add variants of this title, too?

Three fresh alternative strings for your consideration

1. Visually polished alternative text: shortTitle

This shortened name contains a shortcut, visually improved version of the original string. If you are lucky, there is a chance to auto-generated from the original extended title.

Go wild! Use Unicode or Emojis to shorten this version as much as possible, for example.

Having a short version of everything allows to fit more content on viewports. It yields uncluttered list UIs that are easy to parse visually. As you have variants, you can still show the variant with higher level of detail when needed.

2. Alternative text for text-to-speech: ttsTitle

This alternative text variant is made for text-to-speech assistants and search. Abbreviations are forbidden. You can't control the input data, but know the domain? Let the computer produce this alternative text: by replacing the most frequently used abbreviations from your business field with written words.

Why does this matter?

Abbreviations like the shortTitle proposal above make your UI easier to parse – but only visually. They break it for voice assistant users, though: While assistants do come with built-in intelligence to produce speech with a human-sounding intonation, they lack awareness of meaning. To them, a full-stop character can look like a sentence end. Imagine a 'sentence end' intonation and spoken pause in the middle of a product name, or an actual sentence. The text won't make any sense.

If you want to realize a search feature or make your content accessible to a search engine, non-abbreviated content works much better. You can reuse the speakable alternative text as a tooltip. This helps your seeing users to understand what your abbreviations mean.

Including fully speakable variants of your text makes your content useful and discoverable for Google Assistant, Amazon Alexa, Microsoft Cortana, Apple Siri, and even for search engines in general.

3. Plain language alternative text: plainLanguageTitle

Not everybody has the same level of language comprehension.

If you have titles describing complicated things: Do they exclude people who are no native speakers, have a learning impairment, or can't read? It can be a good idea to add a plain language variant in your data.

Alternatively, add a review step to your content authoring workflow to ensure that your strings are understandable.

What does non-optimized copytext sound like?

Imagine you'd design a web-based, magic, but entirely realistic railway departures display.

The HTML code could look like this:

<h1>King’s Cross</h1>
-<ul>
-    <li>Pl. 9 3/4 -> Hogsmeade</li>
-    <li>Pl. 10 -> Eaglescliffe</li>
-</ul>
-

Do you have a working sense of hearing? Then listen to a voice assistant reading this sign aloud. If you are near a Mac, open your Terminal app and enter this:

say -v Dan "Pl. 9 3/4 -> Hogsmeade"

Then press Enter. Experience the cringy but mystifying situation of a British passenger listening to their VoiceOver assistant, which states aloud: "Pee Ell Nine. Three Stroke Four to Hogsmeade." It sounds like an intriguing riddle! The pronunciation "Platform nine three quarters to Hogsmeade" would make more sense, however. It would assist the rider to reach the picturesque little village in time. 🧙‍♀️

With some typographic polishing and accessibility labels, we achieve a visual and auditory improvement:

<h1>King’s Cross</h1>
-<ul>
-    <!-- Uses the `ttsTitle` field mentioned above -->
-    <li aria-label="Platform Nine and Three Quarters, to Hogsmeade">
-        <!-- Uses the `shortTitle` field mentioned above -->
-        Pl. 9 3⁄4 → Hogsmeade
-    </li>
-    <li aria-label="Platform 10, to Eaglescliffe">
-        Pl. 10 → Eaglescliffe
-    </li>
-</ul>
-

Of course, the data behind this has to be entered manually. Entering text twice or three times costs a more time for each entered title. But compare this to your other UX-related efforts: This change is reasonable and straightforward, and those seconds can save the day for a user!

By the way: A transit app developer building a real display like the one above would probably source the data from a public GTFS dataset (GTFS is the most common data format for public transit information). Did you know this data format supports text-to-speech variants of names and titles. A good idea to copy!

For voice assistants, there is SSML, a markup language to describe how synthetic speech should sound like. A W3C task force wants to bring pronunciation features to HTML. Both markup languages even allow to fine-tune the voice's emotion.

If voice assistants are about to play a bigger role in our daily lives, getting emotional tonality right could turn out to be a competitive advantage.

Now is a good time to prepare for this.

\ No newline at end of file +
Skip to content

Copytext accessibility, the opportunity you likely missed

If you design user interfaces, you know that written text in your product has a significant impact on its user experience: Crafting concise copytext is tricky, but worth it. Vice-versa: mediocre copytext or typography ruins an app's credibility. If your app plays a vital role for somebody, faulty wording might have consequences that ruin their day.

Even if you know a tad about accessibility labels, you might have missed the following simple opportunity to improve your copytext.

Increase variance in titles

Product titles, service names, anything with a title: These words in your app can be the most crucial piece of information. Yet, most database models represent each name with one single string. Either this tring has a lot of details and keywords (if the SEO department won an argument), or is very short (if the UX/UI department wins).

For image uploads, alternative text input fields are beginning to appear. For example, on Twitter, you can add a caption text for an image you upload. Added captions make images more accessible - to humans and machines alike.

But why don't we routinely create multiple variants of a title itself? In the data model?

If you design the software for authoring this title content, nobody holds you back from displaying some input fields more. So if something in your data (let's say, a product) has a title attribute, how about letting your editors add variants of this title, too?

Three fresh alternative strings for your consideration

1. Visually polished alternative text: shortTitle

This shortened name contains a shortcut, visually improved version of the original string. If you are lucky, there is a chance to auto-generated from the original extended title.

Go wild! Use Unicode or Emojis to shorten this version as much as possible, for example.

Having a short version of everything allows to fit more content on viewports. It yields uncluttered list UIs that are easy to parse visually. As you have variants, you can still show the variant with higher level of detail when needed.

2. Alternative text for text-to-speech: ttsTitle

This alternative text variant is made for text-to-speech assistants and search. Abbreviations are forbidden. You can't control the input data, but know the domain? Let the computer produce this alternative text: by replacing the most frequently used abbreviations from your business field with written words.

Why does this matter?

Abbreviations like the shortTitle proposal above make your UI easier to parse – but only visually. They break it for voice assistant users, though: While assistants do come with built-in intelligence to produce speech with a human-sounding intonation, they lack awareness of meaning. To them, a full-stop character can look like a sentence end. Imagine a 'sentence end' intonation and spoken pause in the middle of a product name, or an actual sentence. The text won't make any sense.

If you want to realize a search feature or make your content accessible to a search engine, non-abbreviated content works much better. You can reuse the speakable alternative text as a tooltip. This helps your seeing users to understand what your abbreviations mean.

Including fully speakable variants of your text makes your content useful and discoverable for Google Assistant, Amazon Alexa, Microsoft Cortana, Apple Siri, and even for search engines in general.

3. Plain language alternative text: plainLanguageTitle

Not everybody has the same level of language comprehension.

If you have titles describing complicated things: Do they exclude people who are no native speakers, have a learning impairment, or can't read? It can be a good idea to add a plain language variant in your data.

Alternatively, add a review step to your content authoring workflow to ensure that your strings are understandable.

What does non-optimized copytext sound like?

Imagine you'd design a web-based, magic, but entirely realistic railway departures display.

The HTML code could look like this:

<h1>King’s Cross</h1>
+<ul>
+    <li>Pl. 9 3/4 -> Hogsmeade</li>
+    <li>Pl. 10 -> Eaglescliffe</li>
+</ul>
+

Do you have a working sense of hearing? Then listen to a voice assistant reading this sign aloud. If you are near a Mac, open your Terminal app and enter this:

say -v Dan "Pl. 9 3/4 -> Hogsmeade"

Then press Enter. Experience the cringy but mystifying situation of a British passenger listening to their VoiceOver assistant, which states aloud: "Pee Ell Nine. Three Stroke Four to Hogsmeade." It sounds like an intriguing riddle! The pronunciation "Platform nine three quarters to Hogsmeade" would make more sense, however. It would assist the rider to reach the picturesque little village in time. 🧙‍♀️

With some typographic polishing and accessibility labels, we achieve a visual and auditory improvement:

<h1>King’s Cross</h1>
+<ul>
+    <!-- Uses the `ttsTitle` field mentioned above -->
+    <li aria-label="Platform Nine and Three Quarters, to Hogsmeade">
+        <!-- Uses the `shortTitle` field mentioned above -->
+        Pl. 9 3⁄4 → Hogsmeade
+    </li>
+    <li aria-label="Platform 10, to Eaglescliffe">
+        Pl. 10 → Eaglescliffe
+    </li>
+</ul>
+

Of course, the data behind this has to be entered manually. Entering text twice or three times costs a more time for each entered title. But compare this to your other UX-related efforts: This change is reasonable and straightforward, and those seconds can save the day for a user!

By the way: A transit app developer building a real display like the one above would probably source the data from a public GTFS dataset (GTFS is the most common data format for public transit information). Did you know this data format supports text-to-speech variants of names and titles. A good idea to copy!

For voice assistants, there is SSML, a markup language to describe how synthetic speech should sound like. A W3C task force wants to bring pronunciation features to HTML. Both markup languages even allow to fine-tune the voice's emotion.

If voice assistants are about to play a bigger role in our daily lives, getting emotional tonality right could turn out to be a competitive advantage.

Now is a good time to prepare for this.

\ No newline at end of file diff --git a/best-practices/describe-objects-not-people/index.html b/best-practices/describe-objects-not-people/index.html index 48b7628..f1243a8 100644 --- a/best-practices/describe-objects-not-people/index.html +++ b/best-practices/describe-objects-not-people/index.html @@ -95,4 +95,4 @@ } } } -
Skip to content

Describe objects, not people

Here's the tl/dr. When designing accessibility-related apps or surveys,

  • Describe physical, measurable properties of objects, don't assume people's abilities.
  • Make the raw information searchable and displayable.

Embrace complexity

While building Wheelmap.org, we learned that collecting ‘yes/no/partial’ attributes is not enough to be helpful. The world is complex. Personal abilities vary.

UX minimalism and efficiency are often cited when it comes to condensing the number of options in a UI. After all, doing so leads to better accessibility because your app gets simpler to use!

But it shouldn’t come at the cost of meaning. If you design a restaurant finder, it should feel simple and look great, but the accessibility facts you display must be accurate and not misleading. While there is a always a trade-off between high level of detail and simplicity, at least the raw data you collect should include measurable properties. Interpretation can happen later, in a separate step.

Assume less

While analyzing data sets, we sometimes stumble upon data that characterizes a place as being (not) accessible for a specified target group with the best intentions. Claims include:

  • ‘the restaurant is accessible for blind people’
  • ‘the station is accessible for people with mobility impairments’
  • ‘the museum offers for people with learning impairments’

Superficially, these statements look helpful. But they aren’t:

  • People might share the same disability – but have different needs. Having a learning impairment doesn’t imply that you need plain language, for example. A wheelchair users might be able to surmount one step as long as it’s not too high (actually, many wheelchair users can.) Being blind doesn’t mean you can read Braille. Vice-versa, offering Braille books alone doesn't imply that a library is ‘accessible for the blind’.
  • A person can have more than one disability. Your UX should reflect this.
  • Physical accessibility data can help non-disabled people, too.
  • Obviously, you can’t know everyone’s abilities.

A rule of thumb: for good data quality, leave the decision what's accessible to your users. Surveying and showing measurable, countable, observable criteria is better than trying to ‘help’ people by pre-interpreting it.

Doing so has a pleasant side effect: It’s much easier to agree on a countable measurement like “the main entrance has 2 steps” than on a fuzzy term like “partially accessible.”

\ No newline at end of file +
Skip to content

Describe objects, not people

Here's the tl/dr. When designing accessibility-related apps or surveys,

  • Describe physical, measurable properties of objects, don't assume people's abilities.
  • Make the raw information searchable and displayable.

Embrace complexity

While building Wheelmap.org, we learned that collecting ‘yes/no/partial’ attributes is not enough to be helpful. The world is complex. Personal abilities vary.

UX minimalism and efficiency are often cited when it comes to condensing the number of options in a UI. After all, doing so leads to better accessibility because your app gets simpler to use!

But it shouldn’t come at the cost of meaning. If you design a restaurant finder, it should feel simple and look great, but the accessibility facts you display must be accurate and not misleading. While there is a always a trade-off between high level of detail and simplicity, at least the raw data you collect should include measurable properties. Interpretation can happen later, in a separate step.

Assume less

While analyzing data sets, we sometimes stumble upon data that characterizes a place as being (not) accessible for a specified target group with the best intentions. Claims include:

  • ‘the restaurant is accessible for blind people’
  • ‘the station is accessible for people with mobility impairments’
  • ‘the museum offers for people with learning impairments’

Superficially, these statements look helpful. But they aren’t:

  • People might share the same disability – but have different needs. Having a learning impairment doesn’t imply that you need plain language, for example. A wheelchair users might be able to surmount one step as long as it’s not too high (actually, many wheelchair users can.) Being blind doesn’t mean you can read Braille. Vice-versa, offering Braille books alone doesn't imply that a library is ‘accessible for the blind’.
  • A person can have more than one disability. Your UX should reflect this.
  • Physical accessibility data can help non-disabled people, too.
  • Obviously, you can’t know everyone’s abilities.

A rule of thumb: for good data quality, leave the decision what's accessible to your users. Surveying and showing measurable, countable, observable criteria is better than trying to ‘help’ people by pre-interpreting it.

Doing so has a pleasant side effect: It’s much easier to agree on a countable measurement like “the main entrance has 2 steps” than on a fuzzy term like “partially accessible.”

\ No newline at end of file diff --git a/best-practices/rating-scales/index.html b/best-practices/rating-scales/index.html index 942ef62..c46753b 100644 --- a/best-practices/rating-scales/index.html +++ b/best-practices/rating-scales/index.html @@ -1,4 +1,4 @@ - Rating scales - A11yJSON
Skip to content

Rating scales

If possible, avoid UIs that only display a rating scale and no details. While a rating scale can help ranking places, it doesn't fit the use case of matching accessibility offers and individual needs very well.

\ No newline at end of file +
Skip to content
\ No newline at end of file diff --git a/describing-objects/0-model/index.html b/describing-objects/0-model/index.html new file mode 100644 index 0000000..7d66a38 --- /dev/null +++ b/describing-objects/0-model/index.html @@ -0,0 +1,102 @@ + Core Data Model - A11yJSON
Skip to content

Core Data Model

This is a list of data structures that A11yJSON specifies.

They are meant to be interfaces in the software development sense: This means you can either use them as they are, or mix them into your own model.

Accessibility

Describes the physical (and sometimes human rated) accessibility of a place.

NameType
accessibleWithPersonalProfile
ambientNoiseLevelVolume

Ambient noise level in dB(A) relative to a reference pressure of 0.00002 Pa. Median over a 10-second period at least.

animalPolicyAnimalPolicy

Object describing the owner's policy regarding visitors bringing animals with them.

appointmentPoliciesAppointmentPolicy[]

Describes how you can get an appointment for this place, or if you need one.

availableEquipmentundefined | EquipmentProperties[]

Information about the place's equipment.

Use this property for equipment that does not need to be locatable in a specific geolocation, but belongs to a place.

desksundefined | Desk[]

Describes the accessibility of desks in the place. null indicates there are no desks, undefined or missing property indicates unknown.

entrancesundefined | Entrance[]

Describes the accessibility of entrances to the place.

hasAirConditioningboolean

Determines if there is air conditioning installed and actively used.

hasBackgroundMusicboolean

Determines if there is background music playing.

hasBrailleSignageboolean

true if there is braille navigation for/to this place, false if not.

hasInductionLoopboolean

true if the venue has induction loops installed in its functional units where this is relevant.

hasLowStimulusEnvironmentboolean

true if the venue has a designated low-stimulus room or environment, false if not. Can help with hypersensitivity to sensory input.

hasPatientLifterboolean

true if the venue has a patient lifter (MedTech) installed, false if not..

hasSoundAbsorptionboolean

Determines if there is sound absorption installed.

hasTactileGuideStripsboolean

true if the venue has tactile guide strips on the floor or at the walls, false if not. undefined or missing property indicates unknown.

hasTactileSignageboolean

true if there is tactile navigation for/to this place, false if not.

interactions Object with one or more of these keys:

arrive book buy change checkIn checkOut eat explore getDrinks getFood getService getTreatment listen main order orderAnnouncement pay pickUpOrder play read rent roam see sell use useLockers useService visit watch watchMovies watchPlays workHere

Values must be of type InteractionMode.

An object that indicates how the object can be interacted with, or how you can engange in the main function of a place or thing.

The keys of this object are the interaction types, and the values are InteractionMode objects.

isQuietboolean

Determines if the venue is quiet (subjectively, by the assessor). If possible, use the ambientNoiseLevel property instead.

isWellLitboolean

Determines if the venue is well lit (subjectively, by the assessor). Will be replaced by a measurable lumen value in the future.

mediaundefined | Media[]

Information about media. null indicates there is no media, undefined or missing property indicates unknown.

offersActivitiesForPeopleWithPersonalProfile
offersTreatmentWithoutLeavingWheelchairboolean

true for healthcare providers that offer that wheelchair users do not have to leave their wheelchair for treatment, false if this is not possible.

parkingundefined | Parking

Information about parking facilities at/around the venue. null indicates there is no parking, undefined or missing property indicates unknown.

partiallyAccessibleWithPersonalProfile
pathwaysundefined | Pathways

Describes the accessibility of pathways to the place or inside the place’s boundaries (mixed)

pathwaysFromEntranceundefined | Pathways

For places inside other places (e.g. a room inside a building).

Describes the accessibility of pathways to the place. If an extra accessible entrance exists, describe pathways from there to this place.

pathwaysInsideundefined | Pathways

Describes the accessibility of pathways to the place or inside the place’s boundaries (mixed)

paymentundefined | Payment

Information about payment at the place. null indicates there is no payment possible/required, undefined or missing property indicates unknown.

queueSystemundefined | QueueSystem

Information about the place's queue system.

restroomsundefined | Restroom[]

Describes the accessibility of restrooms that belong to the place.

roomsundefined | Room[]

Describes the accessibility of rooms that belong to the place.

serviceContactLocalizedString
signageSystemsSignage[]

Describes local signage systems. If multiple different systems are used, describe them all.

smokingPolicyOne of the following strings:

allowedEverywhere dedicatedToSmoking inIsolatedArea inSeparateArea onlyOutside prohibited

Object describing the owner's smoking policy.

staffundefined | Staff

Information about the service staff. null indicates there is no staff, undefined or missing property indicates unknown.

surfaceundefined | Surface

Object describing the place's ground condition. If there are very different ground conditions, you can create multiple places and nest them.

tablesundefined | Desk[]

Information about tables (for example in a restaurant). null indicates there are no tables, undefined or missing property indicates unknown.

wheelchairAccessibilityGradeOne of the following strings:

fully not partially

Describes the general wheelchair accessibility of the place. This is a human-rated value.

wheelchairPlacesundefined | WheelchairPlaces

Information about wheelchair places. null indicates there are no places, undefined or missing property indicates unknown.

wifiWifiAccessibility

Describes the Wifi availability and accessibility at the place.

ActionMode

Describes necessary abilities and modes inputting information.

NameType
accessArray of one or more of these strings:

customers delivery designated disabled emergency employees no permissive permit private public residents yes

Who has access to this action?

activationForceForce

Force needed for the described input method.

activationTimeIntervalTimeInterval

Time interval needed for activation/engagement.

apiDocumentationUrlLocalizedString

The input API documentation URL.

attentionSpanTimeInterval

Attention time needed for activation/engagement.

bodyHeightLength

A supported body height.

bodyMassMass

A supported body weight.

brailleKeyboardOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The ability to write textual content with a braille keyboard is supported or needed.

brailleTextOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The ability to read braille is supported or needed.

burnHazardboolean

There is a burn hazard.

cableOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

A cable is supported or needed.

capacitiveOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The action uses a capacity sensor, for example a touch sensor.

carryWeightOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The ability to carry a weight is supported or needed.

clapOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

Clapping your hands is supported or needed.

clickOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The ability to click a button with a finger is supported or needed.

descriptionLocalizedString

Describes the output as human-readable text.

directionOne of the following strings:

backward clockwise counterclockwise down forward left right up

The direction of the action, relative to the body.

directionAxisOne of the following strings:

axial coronal sagittal

The direction axis of the action, relative to the body.

doubleClickOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The ability to click a button with a finger is supported or needed.

dragOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The ability to drag an object is supported or needed.

dragAndDropGestureOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The ability to do a virtual drag-and-drop finger/mouse gesture is supported or needed.

educationLevelNumber

Education level needed to understand the action.

http://www.ibe.unesco.org/en/glossary-curriculum-terminology/l/levels-education

  • early childhood education (level 0)
  • primary education (level 1)
  • lower secondary education (level 2)
  • upper secondary education (level 3)
  • postsecondary non-tertiary education (level 4)
  • short-cycle tertiary education (level 5)
  • bachelor’s or equivalent level (level 6)
  • master’s or equivalent level (level 7)
  • doctor or equivalent level (level 8).
eyeTrackerOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The ability to use an eye tracker is supported or needed.

faceRecognitionOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The input uses face recognition.

feedbackPerceptionMode

How is feedback given for an input?

fingerprintScanOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The input uses a fingerprint scanner.

handwritingOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The ability to write textual content by hand is supported or needed.

hapticOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

Haptic input is supported or needed.

headPointerOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The ability to use a head pointer is supported or needed.

headphoneOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

Headphones are supported or needed.

highContrastboolean

The input has high contrast elements, for example around buttons.

instructionsUrlLocalizedString

URL describing how to use the input mechanism.

irisScanOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The input uses an iris scanner.

isEasyToFindboolean

true if the item is easy to find, false if people might face difficulties trying to find the item, or undefined if this is unknown or irrelevant.

isEasyToUnderstandboolean

true if the input is easy to understand, false if people might face difficulties trying to understand how the input works, or undefined if this is unknown or irrelevant.

joystickOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The ability to use a joystick is supported or needed.

keyboardOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The ability to write textual content by typing on a keyboard is supported or needed.

keypadOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The ability to write numbers by typing on a keypad is supported or needed.

knobOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The action uses a knob.

knurledboolean

The input has a knurled surface, for example around buttons.

languagesstring[]

Input languages supported.

leftHandedOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

You can or must give input with your left hand.

lickOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The ability to lick an object with your tongue is supported or needed (e.g. a lollipop)

morseCodeOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

Morse code input is supported or needed.

mouseOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The ability to use a mouse is supported or needed.

moveOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The ability to move an object is supported or needed.

nameLocalizedString

Describes which output is meant. Helpful if there are multiple outputs.

necessaryClimbHeightLength

Height you need to be able to climb over (for obstacles)

necessaryEyeHeightLength

How tall do you have to be to perceive the content/output/signal.

necessaryGripHeightLength

The height you need to grip to perceive the content/output/signal.

optionalboolean

true if the action is optional, false if it is required.

paperOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

Handling paper is supported or needed.

pedalOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The ability to use a pedal is supported or needed.

photoOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The input makes a photo.

pinchOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The ability to pinch an object is supported or needed.

pinchFingerGestureOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The ability to use a pinch finger gesture is supported or needed.

pressOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The ability to apply force to an object is supported or needed.

pullSwitchOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The ability to use a pull switch is supported or needed.

pullstringOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The ability to use a pullstring is supported or needed.

pushButtonOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The ability to use a push button is supported or needed.

pushSwitchOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The ability to use a push switch is supported or needed.

qrCodeOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

A QR code is supported or needed.

raisedTextOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

true if the controls or signs have raised letters, false if not.

requiredboolean

false if the action is optional, true if it is required.

rhythmOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The ability to use rhythm input is supported or needed.

rightHandedOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

You can or must give input with your right hand.

rotateOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The ability to rotate an object is supported or needed.

rotateTwoFingersGestureOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The ability to use a two-finger rotation gesture is supported or needed.

scratchOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The ability to scratch is supported or needed.

screenOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

A screen is supported or needed.

signLanguageOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The ability to use sign language is supported or needed.

singleHandedOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

You can or must give input with one hand.

sipAndPuffOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The ability to use a sip and puff switch is supported or needed.

smellOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The ability to smell is supported or needed.

soundRecordingOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The input makes a sound recording.

speakOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The ability to speak is supported or needed.

squeezeOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The ability to squeeze an object is supported or needed.

stateCountnumber

State count for a button or switch, for example 2 for a toggle button, 3 for a 3-way button.

swipeFingerGestureOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The ability to use a swipe finger gesture is supported or needed.

swipeThreeFingersGestureOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The ability to use a three-finger swipe gesture is supported or needed.

swipeTwoFingersGestureOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The ability to use a three-finger swipe gesture is supported or needed.

tactileOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

Tactile input is supported or needed.

tactileGuidesOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The input has tactile guides, for example around buttons.

tapOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The ability to tap an element with a finger is supported or needed.

tearApartOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The ability to tear something apart is supported or needed.

techSufficientTechCombination[]

Technology combinations that are sufficient to make use of the output.

techSupportedTechCombination[]

Technologies that are sufficient to make use of the output.

tiltOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The ability to tilt an object is supported or needed.

tongueOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The ability to move an object with your tongue is supported or needed.

touchOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

Touch input is supported or needed.

touchscreenOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

Touchscreen input is supported or needed.

trackballOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The ability to use a trackball is supported or needed.

tripleClickOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The ability to click a button with a finger is supported or needed.

turnOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The ability to turn an object is supported or needed.

turnKnobOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The ability to turn a knob is supported or needed.

twoHandedOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

You can or must give input with both hands.

urlLocalizedString

URL where you can use the input mechanism, e.g. on your phone.

videoOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The input makes a video.

visualRecognitionOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

true if the input user interface needs or supports visual input, false if not.

voiceActivationOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

true if the control is activated by voice, false if not.

walkOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

Walking is supported or needed.

waveOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

Waving your hands is supported or needed.

weightMass

A weight you need to be able to lift.

wheelOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The input features a wheel.

wirelessOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The input is wireless.

AnimalPolicy

NameType
allowsAssistanceDogsboolean

true if the place allows visitors to bring assistance dogs, false if bringing them is explicitly prohibited, undefined if the policy is unknown.

allowsDogsboolean

true if the place allows visitors to bring dogs in general, false if bringing them is explicitly prohibited (with exception of dogs specified by allowsGuideDogs and allowsTherapyAnimals), undefined if the policy is unknown.

allowsGuideDogsboolean

true if the place allows visitors to bring guide dogs, false if bringing them is explicitly prohibited, undefined if the policy is unknown.

allowsServiceAnimalsboolean

true if the place allows bringing any kind of animal, false or undefined if not or if there are exceptions.

dogsNeedMuzzleboolean

true if the place denies entry to visitors bringing a dogs without muzzles, false if dogs without muzzles are explicitly allowed.

suppliesWaterForPetsboolean

true if the place supplies water for accompanying animals, false if explicitly not, or undefined if unknown.

AppointmentPolicy

Mixin to link InteractionMode objects to your model.

NameType
accessArray of one or more of these strings:

customers delivery designated disabled emergency employees no permissive permit private public residents yes

Who can make this kind of appointment.

allowsWalkInboolean

true if you need no appointment to visit the place.

bookingURLstring

The URL to a page where the appointment can be booked.

descriptionLocalizedString

Describes this policy as text string, e.g. ‘home visits possible if you are over 60’. Use the other fields only if the described place has only one typical policy (like at a hairdresser).

equipmentPropertiesEquipmentProperties

If the appointment needs a specific equipment, it is described here.

feesCurrencyValue[]

The amount of money that is charged for the appointment.

homeVisitboolean

true if the appointment can be at the person’s home.

inPersonOnSiteboolean

true if the appointment can be made in person.

interactions Object with one or more of these keys:

arrive book buy change checkIn checkOut eat explore getDrinks getFood getService getTreatment listen main order orderAnnouncement pay pickUpOrder play read rent roam see sell use useLockers useService visit watch watchMovies watchPlays workHere

Values must be of type InteractionMode.

An object that indicates how the object can be interacted with, or how you can engange in the main function of a place or thing.

The keys of this object are the interaction types, and the values are InteractionMode objects.

languagesstring[]

The languages that are spoken by the person who is responsible for the appointment.

limitationsDescriptionLocalizedString

Describes limitations that apply to this policy, e.g. ‘only for people with a disability’.

needsAppointmentForAssistantboolean

true if appointments with an assistant are possible, but need to be booked separately.

openingHoursstring

Opening hours in the format described at https://wiki.openstreetmap.org/wiki/Key:opening_hours.

paymentTypesPayment[]

The payment method that is used to pay the amount of money. Use fees instead, if possible.

phoneCallboolean

true if the appointment can be made by video call.

seatSeat

If a seat is associated with this appointment, it is described here.

seatCountnumber

How many seats are available for this appointment.

videoCallboolean

true if the appointment can be made by video call.

CurrencyValue

Describes an amount of paid money in a specific currency, per specified unit, for a specific kind of access to a service or product.

Can represent free availability, by setting amount to 0, and not defining currency.

Don't use this for very small amounts of money (like sub-cent dollar amounts) as this uses no BigDecimal arithmetic.

The amount property is required.

NameType
accessArray of one or more of these strings:

customers delivery designated disabled emergency employees no permissive permit private public residents yes

For whom is this amount of money paid?

amount*number

The amount of money.

currencystring

The currency in which the amount is specified, as three-letter acronym.

Can be undefined if the amount is zero.

paymentTypesPayment[]

The payment method that is used to pay the amount of money.

perQuantity

Unit that is paid with the amount of money, e.g. "30 minutes", "1 hour", '1 GB', '3 pieces'

Desk

Describes a desk / table / cash desk / reception counter.

NameType
depthBelowLength

How much space is there under the desk? This can be used to determine if a wheelchair user can sit at the desk.

fixedHeightLength

How high is the desk? For variable-height desks, use minimalHeight and maximalHeight instead.

This can be used to determine if a wheelchair user can sit at the desk.

fixedHeightBelowLength

How much space is there below the desk? This can be used to determine if a wheelchair user can sit at the desk.

interactions Object with one or more of these keys:

changeHeight checkIn checkOut close enqueue getFood getReturn getShoppingBag handover handoverLuggage lock open openAndClose pay ringBell savePreset scan selfCheckout unlock unlockAndLock

Values must be of type InteractionMode.

An object that indicates how the object can be interacted with, or how you can engange in the main function of a place or thing.

The keys of this object are the interaction types, and the values are InteractionMode objects.

intercomundefined | Intercom

Information about an intercom at this desk, if applicable.

null indicates there is no intercom.

isRollUnderboolean

true if the desk can be rolled under, false if not. This can be used to determine if a wheelchair user can sit at the desk.

maximalHeightLength

How high is the desk maximally? This is only for variable-height desks. Use fixedHeight for fixed-height desks. This can be used to determine if a wheelchair user can sit at the desk.

minimalHeightLength

How high is the desk minimally? This is only for variable-height desks. Use fixedHeight for fixed-height desks. This can be used to determine if a wheelchair user can sit at the desk.

nameLocalizedString

Name of the entrance (helpful if there are multiple entrances).

paymentundefined | Payment

Information about payment at this desk.

null indicates there is no payment possible/required.

queueSystemQueueSystem

Describes an associated queue system.

turningSpaceInFrontLength

How much space is there in front of the desk? This can be used to determine if a wheelchair user can sit at the desk.

widthBelowLength

How much space is there below the desk? This can be used to determine if a wheelchair user can sit at the desk.

Door

Describes the door of a place's entrance or to one of its facilities (e.g. to a shower, or to an elevator)

NameType
accessArray of one or more of these strings:

customers delivery designated disabled emergency employees no permissive permit private public residents yes

Defines who this door is for. See https://wiki.openstreetmap.org/wiki/Key:access for more information.

colorsstring[]

Describes the colors of the door itself, as HTML color strings. Don't include the door frame or door marking colors in this attribute, but use markingColors and doorFrameColors instead.

This can make the door easier to find.

If there are multiple colors, it might be enough to describe the most dominant one.

If there are multiple colors, but there is no predominant color, describe all of them.

This allows to determine the contrast to the wall and the door frame.

Its best to determine the color at daylight.

For glass doors, you can use 'transparent' as color.

doorFrameColorsstring[]

Describes the colors of the door frame, if existent. If they are similar, describe only one color. Use HTML color strings here.

This can make the door easier to find, and allows to determine the contrast to the door and the wall.

If there are multiple colors, it might be enough to describe the most dominant one.

If there are multiple colors, but there is no predominant color, describe all of them.

Its best to determine the color at daylight.

doorOpensToOutsideboolean

true if the door opens to the outside, false if it opens to the inside.

doorbellTopButtonHeightLength

Height of the door bell's top button. If there is a lowered extra door bell (often marked with a wheelchair user symbol), use the height of this one's top button.

grabBarsGrabBars

Describes grab bars in front of the door.

hasClearMarkingOnGlassDoorboolean

true if the door is a glass door, but is marked, false if the door is an unmarked glass door, undefined if it is no glass door or the condition is unknown.

hasErgonomicDoorHandleboolean

true if the door's handle is easy to use (subjectively by the assessor), false if not.

hasIntercomboolean

true if the door has an intercom system, false if not.

hasProximitySensorboolean

true if the door has a proximity sensor that triggers the opening mechanism, false if not.

hasSwitchboolean

true if the door has a switch that triggers the opening mechanism, false if not.

hasVisuallyContrastedFrameboolean

true if the door frame is visually contrasted to its surrounding wall, false if not.

interactions Object with one or more of these keys:

close lock open openAndClose ringDoorbell unlock unlockAndLock

Values must be of type InteractionMode.

An object that indicates how the object can be interacted with, or how you can engange in the main function of a place or thing.

The keys of this object are the interaction types, and the values are InteractionMode objects.

intercomIntercom

Describes the intercom system of the door.

isAlwaysOpenboolean

true if the door is there, but always open, false if not.

isAutomaticboolean

true if the door opens automatically, false if not. The mechanism for opening the door is defined in other attributes.

isAutomaticOrAlwaysOpenboolean

true if the door is always open or automatic, false if it has to be opened manually.

isEasyToHoldOpenboolean

true if the door is easy to hold open (subjectively by the assessor), false if not.

isGlassDoorboolean

true if the door is a glass door, false if not.

isRevolvingboolean

true if the door is revolving (like a carousel), false if not.

isSlidingboolean

true if the door is a sliding door, false if not.

isTurnstileboolean

true if the door is a turnstile, false if not.

isVisuallyContrastedboolean

true if the door is visually contrasted to its surrounding wall, false if not.

markingColorsstring[]

Describes the colors of a door marking, if existent, as HTML color strings.

This can make the door easier to find.

If there are multiple colors, it might be enough to describe the most dominant one.

If there are multiple colors, but there is no predominant color, describe all of them.

Its best to determine the color at daylight.

nearbyWallColorsstring[]

Describes the colors of the walls right next the door. Use HTML color strings here.

This can make the door easier to find, and allows to determine the contrast to the door frame and the door.

  • If there are multiple colors, it might be enough to describe the most dominant one.
  • If there are multiple colors, but there is no predominant color, describe all of them.

Its best to determine the color at daylight.

needsDoorbellboolean

true if you need to ring a doorbell to pass the entrance, false if not.

needsEuroKeyboolean

true if you need a Euro key to open the door, false if it's in Europe outside UK and works without a key, undefined if it is unknown or needs a different key.

needsIntercomboolean

true if you need to use the intercom to pass this door, false if not.

needsKeyCardboolean

true if you need to use a keycard to pass the entrance, false if not.

needsKeyPadboolean

true if you need to use a key pad to pass this door, false if not.

needsRadarKeyboolean

true if you need a RADAR key to open the door, false if it's in the UK but you need no key or needs a different key.

needsSwitchToOpenboolean

true if the door needs pressing a switch to open, false if not.

thresholdHeightLength

Height of the door’s threshold / sill / step inside the door frame.

thresholdIsRoundedboolean

true if the threshold has rounded edges, false if not.

turningSpaceInFrontLength

Turning space in front of the door.

widthLength

Width of the door.

Entrance

Describes an entrance to a PlaceInfo.

NameType
geometryPointGeometry

The physical location of the entrance in WGS84 coordinates. Currently only a GeoJSON PointGeometry is supported.

propertiesEntranceProperties

EntranceProperties

Describes an entrance to a place.

NameType
doorundefined | Door

Object that describes the entrance’s door. null if there is no door.

elevatorEquipmentIdstring

reference to the equipment id if this entrance is an elevator (on accessibility.cloud)

hasFixedRampboolean

true if this entrance has a fixed ramp, false if not.

hasHoistboolean

true if there is a hoist / wheelchair lift, false if not.

hasRemovableRampboolean

true if there is a removable ramp, false if not. If there is a fixed ramp, this property MUST be undefined.

hasSignageboolean

If this entrance is NOT the main entrance: Is this entrance connected to the main entrance, and is there signage that points to this entrance?

intercomEquipmentIdstring

reference to the equipment id of the intercom of this entrance (on accessibility.cloud)

isLevelboolean

true if this entrance has no steps and needs no ramp, false if there are steps or a ramp.

isMainEntranceboolean

true if this is the main entrance, false if not.

nameLocalizedString

Name of the entrance (helpful if there are multiple entrances).

needsAppointmentboolean

true if you need an appointment to enter, false if not.

placeInfoIdstring

reference to the place that this entrance is connected to (on accessibility.cloud)

slopeAngleSlope

How steep is the ground at the entrance?

stairsStairs

Object that describes stairs that you have to take to use the entrance.

EquipmentInfo

Describes a facility equipment that is part of a place, like an elevator, an escalator, or a sitemap. Can contain attributes that are realtime updated to indicate operational status.

NameType
geometryPointGeometry

The physical location of the place in WGS84 coordinates. Currently only a GeoJSON PointGeometry is supported.

propertiesEquipmentProperties

EquipmentProperties

Mixin to link InteractionMode objects to your model.

NameType
accessModestring[]

Access modes supported by this equipment.

accessModeSufficientstring[]

Access mode combinations that allow understanding and using the equipment.

accessibilityControlstring[]

The accessibility controls that allow controlling this equipment.

accessibilityFeaturestring[]

Indicates features that allow understanding or using the equipment.

accessibilityHazardstring[]

Indicates hazards that may be an obstacle to understanding or using the equipment.

alternativeRouteInstructionsLocalizedString

Short alternative routing instructions for travelers when they cannot use this facility.

The text MUST NOT have abbreviations to be readable aloud by a screen reader or voice assistant.

Software using this attribute MUST NOT assume that the equipment is out of operation if it the attribute is defined.

cabinLengthLength

Length / depth of the cabin when facing the equipment’s entrance, or undefined if the equipment has no cabin. For a hoist, this refers to the hoist platform itself.

cabinWidthLength

Width of the cabin when facing the equipment’s entrance, or undefined if the equipment has no cabin. For a hoist, this refers to the hoist platform itself.

categoryOne of the following strings:

bed bodyScanner ctScanner elevator escalator flushMechanism hoist intercom luggageScanner movingWalkway mriScanner powerOutlet ramp sitemap stairLift switch ticketVendingMachine treatmentChair ultrasoundScanner vendingMachine wardrobe wheelchairLift xrayMachine

Type of the equipment or facility.

descriptionLocalizedString

Describes where the equipment is located. If only one description string is technically possible to maintain, it MUST not contain any abbreviations to allow being readable aloud by screen readers or voice assistants.

disruptionSourceImportIdstring

Data source ID of a secondary source used for realtime status info on accessibility.cloud

doorDoor

Object describing the door to the equipment, or undefined if there is no door.

emergencyIntercomIntercom

Describes the intercom system for emergency calls.

hasAdjustableHeightboolean

true if the equipment's height is adjustable, false if not.

hasDoorsAtRightAnglesboolean

true if the equipment has doors at right angles to each other.

hasDoorsInBothDirectionsboolean

true if the equipment has doors in two directions, so wheelchair, rollator, bike or pushchair users do not have to move backwards to exit.

hasExternalFloorSelectionboolean

For elevators. true if the elevator needs a command to be entered outside the elevator, false if not.

hasLandingsboolean

true if the equipment has a landing platform, false if not. Helpful for escalators.

hasMirrorboolean

For elevators. true if the elevator has a mirror, false if not.

hasVisualEmergencyAlarmboolean

true if the equipment has a visual emergency alarm, false if not (for example, inside elevators).

heightOfControlsLength

Height of the lowest working controls that are needed to operate this equipment. undefined if the equipment needs no controls.

ids Object with one or more of these keys:

string

Values must be of type string.

IDs in other data sources that are linked to this equipment, indexed by schema/context.

interactions Object with one or more of these keys:

arriveAtFloor buy call callEmergency disable enable engage findYourDestination flush getTreatment handover locateYourself ride scan selectFloor sell sleep toggle travel understand use

Values must be of type InteractionMode.

An object that indicates how the object can be interacted with, or how you can engange in the main function of a place or thing.

The keys of this object are the interaction types, and the values are InteractionMode objects.

isAccessibleWithWheelchairboolean

true if the equipment is fully operatable for/by a person in a wheelchair, false if not. If you can, please don't use this attribute. Instead, use more specific attributes.

isIndoorsboolean

true if the equipment is indoors, false if it’s fully or partially outdoors.

isSuitableForBicyclesboolean

For elevators. true if the elevator can carry a bicycle, false if not.

isWorkingboolean

Live status update.

true if the equipment is in operation, false if not, or undefined if it is unknown. When reading this attribute for showing it in a user interface, the user interface MUST show the operational status as ‘unknown’ if the status could be out of date, for example if it is older than 10 minutes.

When displaying the operational status, user interfaces SHOULD show the date saved in stateLastUpdate next to the operational status additionally for transparency.

languagesstring[]

Languages of the equipment’s visible controls and/or voice output.

longDescriptionLocalizedString

Contains the same information as description, but in a longer form which can be read out by a screen reader or voice assistant.

Words MUST be written out fully (e.g. ‘direction’ instead of ‘dir.‘, ‘ground’ instead of ‘G‘, ‘platform’ instead of ‘pl.’). The field MUST NOT contain any symbols (e.g. ->, <->, or ).

This MUST be suitable for people who have a visual impairment or use a screen reader or voice assistant (e.g. Amazon’s Alexa).

If only one description field can be used for technical reasons, then the written-out form MUST be given preference, because a short form can be generated from the long form more easily than the other way around.

This attribute SHOULD be used as aria-label-attribute in web content.

manufacturerNameLocalizedString

Official name of the company that manufactured the equipment.

manufacturerSerialNumberstring

Manufacturer serial number of the equipment / facility.

Intentionally not localizable to allow matching with other data, e.g. from manufacturer's own APIs.

originalDatastring

Original source data for this equipment (for easier debugging)

originalIdstring

ID of this equipment in the original data source. To simplify communication with the operator, it’s a good idea to use the operator facility management system ID here.

originalPlaceInfoIdstring

ID of the place that this equipment belongs to (unique in the original data source)

outOfOrderReasonLocalizedString

Live status update.

Reason why the equipment is not in operation. MUST be undefined if the equipment is in operation.

placeInfoIdstring

Place info ID that this equipment belongs to (accessibility.cloud ID)

placeSourceIdstring

ID of the place data source that this equipment belongs to (accessibility.cloud ID)

plannedCompletionDateDate

Live status update.

If isWorking is false, this is the planned date when the equipment will be in operation again.

MUST be undefined if the facility is currently in operation.

sameAsstring[]

URLs of this equipment in external data sources, for example in GTFS, IMDF or other sources.

seatSeat

Object describing the seat of the equipment, or undefined if there is no seat.

servicePhoneNumberstring

Phone number where a service operator can be reached for help using this facility.

serviceWebsiteUrlstring

URL pointing to a website that describes the equipnent or it's current operational status.

shortDescriptionLocalizedString

Contains the same information as description, but in a shorter form, to save space on the screen. This CAN contain Unicode characters such as ⟷ or ↘︎ as well as abbreviations (e.g. ‘pl.’ instead of ‘platform’, ‘dir.’ instead of ‘direction’).

sourceIdstring

Data source ID on accessibility.cloud

sourceImportIdstring

Data import ID on accessibility.cloud

stateExplanationLocalizedString

Live status update.

Information about the current state. If isWorking is true, this can show information about future planned maintenance or construction work rendering this facility unusable.

The text MUST NOT have abbreviations to be readable aloud by a screen reader or voice assistant.

This field SHOULD only be used if a separation into individual disorder attributes (state, outOfOrderReason) is not technically possible (e.g. when existing APIs can not be further developed and users are only given one text field to describe the problem.)

stateLastUpdateDate

Live status update.

Date when the isWorking flag was updated by a realtime system.

GrabBars

Describes grab bars or hand rails.

The continuous property is required.

NameType
continuous*boolean

Indicates if the grab bars are continuous or not. Helpful for stair grab rails.

distanceBetweenBarsLength

Indicates how far the bars are apart.

foldableboolean

true if the grab bars can be folded, false if not..

inFrontOfTheUserboolean

true if there is a folding handle in front of the user, false if not.

Seen from the perspective

  • of somebody using a toilet
  • of somebody in front of stairs, facing upwards
  • of somebody in front of a door
interactions Object with one or more of these keys:

adjust findYourDestination foldDown foldUp localizeYourself

Values must be of type InteractionMode.

An object that indicates how the object can be interacted with, or how you can engange in the main function of a place or thing.

The keys of this object are the interaction types, and the values are InteractionMode objects.

onUsersLeftSideboolean

true if there is a folding handle on left side, false if not.

Seen from the perspective

  • of somebody using a toilet
  • of somebody in front of stairs, facing upwards
  • of somebody in front of a door
onUsersRightSideboolean

true if there is a folding handle on right side, false if not.

Seen from the perspective

  • of somebody using a toilet
  • of somebody in front of stairs, facing upwards
  • of somebody in front of a door
topHeightFromFloorLength

Indicates how high the grab bars are (top edge, measured from the floor).

Interactable

Mixin to link InteractionMode objects to your model.

NameType
interactions Object with one or more of these keys:

InteractionType

Values must be of type InteractionMode.

An object that indicates how the object can be interacted with, or how you can engange in the main function of a place or thing.

The keys of this object are the interaction types, and the values are InteractionMode objects.

InteractionMode

Many people with disabilities face barriers when interacting with places or things. These stem from the physical environment, the design of the object, or the way the interaction with the object or place is designed.

The Interactable model allows to describe how you can interact with a thing or engange in the key purposes of a place, and which abilities you need for this.

Attributes typically contain

  • barriers
  • means of interaction
  • required and optional abilities, experiences, or senses

This allows for UIs that adapt to the user's needs and abilities, or to provide usage descriptions that work for everyone.

NameType
actionActionMode

Action modes that are absolutely necessary to facilitate the interaction, e.g. ‘pushing a button’.

descriptionLocalizedString

Describes the output as human-readable text.

languagesstring[]

Input languages supported.

nameLocalizedString

Describes which output is meant. Helpful if there are multiple outputs.

optionalboolean

true if the interaction is optional, false if it is required.

perceptionPerceptionMode

Perception modes supported to facilitate the interaction.

requiredboolean

false if the interaction is optional, true if it is required.

Intercom

Describes a system to communicate over distance, e.g. a door intercom next to a doorbell.

NameType
ambientNoiseLevelVolume

The ambient noise level when using the intercom.

audioIsComprehensibleboolean

true if intercom system’s audio quality is good enough for understanding speech, false if not.

descriptionLocalizedString
hasAudioboolean

true if the door has an audio intercom system, false if not.

hasVideoCameraboolean

true if the door has a video intercom system, false if not.

hasVisualFeedbackOnConnectionboolean

true if the intercom system has a visual feedback, false if not. Visual feedback might be a screen or light that displays if a connection is established.

interactions Object with one or more of these keys:

call close hangUp identify open ring

Values must be of type InteractionMode.

An object that indicates how the object can be interacted with, or how you can engange in the main function of a place or thing.

The keys of this object are the interaction types, and the values are InteractionMode objects.

necessaryGripHeightLength

The height of the top control element of the intercom system.

needsKeyPadboolean

true if you need to use a key pad to pass this door, false if not.

Media

Describes a media unit provided at this place, for example an exhibit at a museum or a movie in a cinema.

NameType
accessModestring[]

Access modes supported by this equipment.

accessModeSufficientstring[]

Access mode combinations that allow understanding and using the equipment.

accessibilityControlstring[]

The accessibility controls that allow controlling this equipment.

accessibilityFeaturestring[]

Indicates the access mode combinations that allow understanding and using the equipment.

accessibilityHazardstring[]

Indicates the access mode combinations that allow understanding and using the equipment.

hasAudioDescriptionboolean

Is the media unit provided with audio description?

hasContrastingBackgroundboolean

If the media unit is printed or on a screen, does it have high contrast between background and foreground?

hasDedicatedScreenForSubtitlesboolean

Relevant for movies, screens and presentations: Is there a dedicated screen where subtitles can be read?

hasPlainLanguageOptionboolean

Is the media unit provided in a Plain Language option?

hasRealTimeCaptioningboolean

Does the media unit have real time captioning?

hasSubtitlesboolean

Is the media unit provided with subtitles?

interactions Object with one or more of these keys:

browse close discover feel interact listen open read recognize rent watch

Values must be of type InteractionMode.

An object that indicates how the object can be interacted with, or how you can engange in the main function of a place or thing.

The keys of this object are the interaction types, and the values are InteractionMode objects.

isAudioboolean

Is the media unit consumable as audio-only option?

isBrailleboolean

Is the media unit consumable or described for Braille readers?

isLargePrintboolean

If the media unit is printed, is the print large?

isTactileboolean

Is the media tactile?

languagesstring[]

Specifies which languages (including sign languages) in which the media unit is provided

nameLocalizedString

Name of the media unit (relevant if there are multiple units of the same kind)

sameAsstring[]

URLs that contain the media. Use this to link data, for example with RDF.

turningSpaceInFrontLength

If the media is consumed while the consumer is directly in front of it, this property specifies how much turning space there is in front of it.

typeOne of the following strings:

document exhibit form guide menu movie play presentation screen tour website

Type of the media unit

Mirror

Describes a mirror.

heightFromGround and isAccessibleWhileSeated properties are required.

NameType
heightFromGround*Length

How far is the mirror's bottom from the ground?

interactions Object with one or more of these keys:

adjust clean move turn use

Values must be of type InteractionMode.

An object that indicates how the object can be interacted with, or how you can engange in the main function of a place or thing.

The keys of this object are the interaction types, and the values are InteractionMode objects.

isAccessibleWhileSeated*boolean

true if the mirror is accessible while sitting in a wheelchair, false if not.

isLocatedInsideRestroomboolean

true if the mirror is located inside the restroom, false if not.

Parking

Mixin to link InteractionMode objects to your model.

NameType
countnumber
forWheelchairUsersundefined | WheelchairParking
interactions Object with one or more of these keys:

arrive enterVehicle exitVehicle park

Values must be of type InteractionMode.

An object that indicates how the object can be interacted with, or how you can engange in the main function of a place or thing.

The keys of this object are the interaction types, and the values are InteractionMode objects.

Pathways

Describes one or multiple pathways inside a place.

NameType
isKerbstoneFreeboolean

true if the pathway is kerbstone-free, false if not.

surfaceSurface
widthLength

Width constraints of all pathways inside a place relevant for consumers.

widthAtObstaclesLength

Width constraints of all pathways inside a place relevant for consumers.

Payment

The Payment interface describes the payment options at a location.

NameType
acceptsBillsboolean
acceptsCoinsboolean
acceptsCreditCardsboolean
acceptsDebitCardsboolean
acceptsPaymentByMobilePhoneboolean
customPaymentMetaInfoLocalizedString[]
hasPortablePaymentSystemboolean

PerceptionMode

Describes necessary abilities and modes for interpreting information output, signals, or content.

NameType
accelerationAcceleration

Feedback force applied to the user.

activationSignalboolean

The output is an activation/engagement signal.

ambientNoiseLevelVolume

Ambient noise level in dB(A) relative to a reference pressure of 0.00002 Pa. Median over a 10-second period at least.

ambientTemperatureTemperature

The ambient temperature around the output.

animationOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The output is animated.

apiDocumentationUrlstring

The input API documentation URL.

attentionSpanTimeInterval

Attention time span needed to understand the output.

audibleClickOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The output has an acoustic click feedback.

audioDescriptionOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The output has audio description.

audioIsComprehensibleboolean

true if the system’s audio quality is good enough for understanding speech, false if it is difficult.

backgroundColorsstring[]

Background output HTML colors (for example, the background behind a text or icon).

backgroundMusicOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

There is background music playing.

beepOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The output uses one or more beeps as signal.

bingOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The output uses one or more bing-like signals.

blackAndWhiteboolean

The output uses black and white colors.

brailleOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The ability to read braille is supported or needed.

breathingOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The light looks like it is breathing.

brightnessBrightness

The output's brightness.

buzzerOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The output is using a buzzer / paging device.

byodOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

true if you can or have to perceive the content with a device that you own.

cableOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

A cable is supported or needed.

chartOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The output uses one or more charts.

colorCodeboolean

The output uses a discrete color code.

colorGradientboolean

The output uses a color gradient.

contentWarningLocalizedString

Lists potential content warnings you have to expect here. User interfaces should not show the content warning directly, but should instead show a button to show the content warning.

dedicatedScreenForSubtitlesOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The output has a dedicated screen for subtitles.

descriptionLocalizedString

Describes the content/output/signal as human-readable text.

durationTimeInterval

Time interval in which the output is active.

educationLevelNumber

Education level needed to understand the output.

http://www.ibe.unesco.org/en/glossary-curriculum-terminology/l/levels-education

  • early childhood education (level 0)
  • primary education (level 1)
  • lower secondary education (level 2)
  • upper secondary education (level 3)
  • postsecondary non-tertiary education (level 4)
  • short-cycle tertiary education (level 5)
  • bachelor’s or equivalent level (level 6)
  • master’s or equivalent level (level 7)
  • doctor or equivalent level (level 8).
flashOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The output is a flashing light.

flashingHazardboolean

true if the output is a flashing hazard, false if there is explicitly no flashing hazard and someone / something ensures this. This can be relevant for people with epilepsy.

fontSizeLength

Font size used in the output.

forceForce

Feedback force applied to the user.

forceFeedbackOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The content/output/signal has active force feedback.

foregroundColorsstring[]

Foreground output HTML colors (for example, the text or icon color).

framerateHertz

The framerate of animations.

frequencyHertz

The frequency of the output, for tones or flashes.

fullBodyOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The content/output/signal affects your full body.

handwrittenOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The content is handwritten.

hapticOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The output is haptic.

hapticClickOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The output has a haptic click feedback.

headphoneOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

Headphones are supported or needed.

heatOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

Heat perception is supported or needed.

highContrastboolean

The output is displayed in high contrast.

instructionsUrlLocalizedString

URL describing how to make use of the content/output/signal.

isEasyToFindboolean

true if the input is easy to find.

isEasyToUnderstandboolean

true if the input is easy to understand, false if people might face difficulties trying to understand how the input works, or undefined if this is unknown or irrelevant.

languagesstring[]

Content languages supported.

ledOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The output is an LED.

lightOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The output is a light.

morseOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The output uses morse code.

musicOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The output uses music.

nameLocalizedString

Describes which output is meant. Helpful if there are multiple signals/outputs/content lements.

necessaryEyeHeightLength

How tall do you have to be to perceive the content/output/signal.

necessaryGripHeightLength

The height you need to grip to perceive the content/output/signal.

needsHighConcentrationOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The output needs high concentration to understand.

numbersOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The output uses one or more numbers.

optionalboolean

true if the perception is optional, false if it is required.

paperOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The output is displayed on a paper.

pictogramsOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The output uses one or more pictograms.

pitchedToneOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The output uses a pitched tone as signal.

plainLanguageOptionOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The output has a plain language option.

printerOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The output is from a printer.

provisionalHearingAidOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The perceiving person uses a provisional hearing aid, e.g. a stethoscope, a smartphone, or a headset with a microphone that amplifies the sound or speech.

qrCodeOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

A QR code is supported or needed.

radioOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

A radio connection is supported or needed (e.g. WiFi, Bluetooth, NFC, etc.)

readOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The ability to read is supported or needed.

realTimeCaptioningOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The output has realtime captioning.

requiredboolean

false if the perception is required to make use of the main function of the described object, true if it is required.

rhythmicOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The output is rhythmic.

screenOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The output is displayed on a screen.

signLanguageOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The ability to understand sign language is supported or needed.

smellOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The ability to smell is supported or needed.

soundOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The output is acoustic.

soundVolumeVolume

The content/output/signal has active vibration feedback.

speechOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The ability to understand speech is supported or needed.

staticboolean

true if the output is usually static and does not change over time, false if it is dynamic and changes over time.

stethoscopeOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The perceiving person uses a stethoscope.

This is method for patient communication that is used by doctors to speak to patients with hearing impairments:

British doctors recommend using the stethoscope as a hearing aid for patients in such situations (BMJ 2010; 341: c4672). If the patient has the buttons in his ear and the physician speaks softly and clearly into the diaphragm as into a microphone, then sufficient communication is often possible despite hearing problems. The intimacy of the conversation can be preserved by this simple means.

Sources:

subtitlesOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The output has subtitles.

tactileOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The output is tactile.

tactileGuidesOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The output has tactile guides, for example around buttons.

tasteOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

Tasting something is supported or needed.

techSufficientTechCombination[]

Technology combinations that are sufficient to make use of the content/output/signal.

techSupportedTechCombination[]

Technologies that are sufficient to make use of the content/output/signal.

temperatureTemperature

The temperature of the output.

urgencyOne of the following strings:

alarm alert announcement debug info warning

Urgency of the content when perceived.

urlLocalizedString

URL where you can see or make use of the content/output/signal, e.g. on your phone.

vibrationOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The content/output/signal has active vibration feedback.

visualOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The output is visual.

PersonalProfile

Describes a person. This exists only to transform data from sources where no physical attributes of places have been captured as data directly. It's better to describe physical attributes of places and let people decide themselves which facilities they need or which place condition works for them.

NameType
blindnessboolean

true for a person that is blind.

guideDogboolean

true for a person that has a guide dog.

hearingImpairmentboolean

true for a person that has a hearing impairment.

learningImpairmentboolean

true for a person that has a learning impairment.

mobilityImpairmentboolean

true for a person that has a mobility impairment.

mutenessboolean

true for a person that is inable to speak.

visualImpairmentboolean

true for a person that has a visual impairment.

wheelchairboolean

true for a person that uses a wheelchair.

PlaceInfo

The PlaceInfo interface describes a physical location with added accessibility properties.

geometry and properties properties are required.

NameType
formatVersionstring

The format version this place info document was created with (Uses the npm module version from package.json) Not used right now, but added for future compatibility.

geometry*PointGeometry

The physical location of the place in WGS84 coordinates. Currently only a GeoJSON PointGeometry is supported.

properties*PlaceProperties

Holds additional place properties such as name and category and accessibility information

PlaceProperties

Properties of a place of interest.

The category property is required.

NameType
accessArray of one or more of these strings:

customers delivery designated disabled emergency employees no permissive permit private public residents yes

Defines who this restroom is for. See https://wiki.openstreetmap.org/wiki/Key:access for more information.

accessibilityundefined | Accessibility

The accessibility of this place. null indicates that this place has no data, undefined or missing property indicates unknown.

addressundefined | StructuredAddress

The address of this place. null indicates that this place has no address, undefined or missing property indicates unknown.

category*string

Category name of the place

descriptionLocalizedString

Text description containing helpful information for people with disabilities.

editPageUrlstring

URL of the original data source’s website on a subpage that allows to edit the original data.

emailAddressstring

Email address of the place's operator where you can get accessibility relevant information.

ids Object with one or more of these keys:

string

Values must be of type string.

IDs in other data sources that are linked to this equipment, indexed by schema/context.

infoPageUrlstring

URL of the original data source’s website describing this place.

nameLocalizedString

The official name of this place.

originalDataany

Original source data for this equipment (for easier debugging)

originalIdstring

ID of this place of interest in the original data source. To simplify communication with the data provider, it’s a good idea to use the provider's internal ID here.

originalParentPlaceInfoIdstring

The parent's place ID in the original dataset from the data provider.

parentPlaceInfoIdstring

ID of the parent place that this place belongs to.

parentPlaceSourceIdstring

Source ID of the parent place that this place belongs to. This is usually the same ID as sourceId, but the parent place can be from another data provider.

phoneNumberstring

Phone number to call a representant of the place's operator.

placeWebsiteUrlstring

URL of the place’s own website.

sameAsstring[]

URLs of this equipment in external data sources, for example in GTFS, IMDF or other sources.

sourceIdstring

ID of the data source that provided the place (accessibility.cloud ID)

sourceImportIdstring

ID of the import that created this place (accessibility.cloud ID)

tags Object with one or more of these keys:

string

Values must be of type string.

Tags that are not part of the schema, but are still useful for the data consumer.

  • If a OSM place is described, the tags are the OSM tags.
  • If a GTFS place is described, the tags are the GTFS fields.
  • If a IMDF place is described, the tags are the IMDF fields.
  • If a custom place is described, the tags are the custom fields.
  • If a place is described by a combination of multiple sources, the tags are the union of all fields.

PointGeometry

GeoJSON Point object.

coordinates and type properties are required.

NameType
coordinates*tuple with 2 number elements
type*"Point"

Quantity

Describes a quantity of a unit type.

NameType
accuracynumber

± in given units, uniform error.

maxnumber

maximal value (inclusive)

minnumber

minimal value (inclusive)

operatorOne of the following strings:

!= < <= = == > >= ~ ~=

the operator, indicating the value is not an absolute value

precisionnumber

± in given units, uniform error

rawValuestring

raw, imported value, eg. '90 .. 120cm' - only required when importing

unitstring

one of the length units in js-quantities

valuenumber

the value in the specified unit

QueueSystem

Describes a system that encourages or forces people to queue up.

NameType
canSkipQueueWithDisabilityboolean

true if you can skip the queue with a disability, false if not.

grabBarsGrabBars

Grab bars inside the queueing system, if applicable.

hasVisualAnnouncementsboolean

true if the queueing system announces the next person in line visually, false if not.

interactions Object with one or more of these keys:

arrive checkIn checkOut enqueue getOnesTurn getTicket leaveQueue skipQueue wait

Values must be of type InteractionMode.

An object that indicates how the object can be interacted with, or how you can engange in the main function of a place or thing.

The keys of this object are the interaction types, and the values are InteractionMode objects.

needsTicketsboolean

true if the queueing uses tickets (usually numbered), false if not.

numberOfQueueServerPointsnumber

Number of queue server points.

numberOfSeatsnumber

Number of seats that can be used by people while waiting in the queue.

usesCattleBarsboolean

true if the queueing uses rails / cattle bars, false if not.

Restroom

Describes a Room that contains one or more Toilets or Showers.

NameType
accessArray of one or more of these strings:

customers delivery designated disabled emergency employees no permissive permit private public residents yes

Defines who this room is for. See https://wiki.openstreetmap.org/wiki/Key:access for more information.

addressStructuredAddress
descriptionLocalizedString
entranceEntranceProperties

Object describing the entrance to this room.

entrancesEntrance[]

Object describing the entrance to this room.

hasBathTubboolean

true if there is a bath tub in this room, false if not, undefined if condition is unknown.

hasCeilingHoistboolean

true if the restroom has a ceiling hoist, false if not.

hasChangingTableForAdultsboolean

true if the restroom has a changing table for adults, false if not.

hasChangingTableForBabiesboolean

true if the restroom has a changing table for babies, false if not.

hasEmergencyPullstringboolean

true if the restroom has an emergency pull string, false if not.

hasMirrorboolean

true if the restroom has a mirror, false if not.

hasShowerboolean

true if the restroom has a shower, false if not.

hasSupportRailsboolean

true if there support rails on the walls

heightOfDrierLength

At which height from the floor is the drier or towel?

heightOfSoapLength

At which height from the floor is the soap?

interactions Object with one or more of these keys:

callEmergency closeWindow enter exit lookAround openWindow play see sit sleep stand storeThings wait

Values must be of type InteractionMode.

An object that indicates how the object can be interacted with, or how you can engange in the main function of a place or thing.

The keys of this object are the interaction types, and the values are InteractionMode objects.

isAccessibleWithWheelchairboolean

true if the room's relevant facilities are completely accessible while using a wheelchair, false if not, undefined if the condition is unknown or difficult to assess.

mirrorMirror

Describes a mirror, if existing.

sameAsstring[]
showerShower

Object describing a shower inside this restroom, if existing.

signIconsArray of one or more of these strings:

allGender baby changingTable family female male personInWheelchair toiletBowl urinal washBasin

Visible icons on the restroom’s sign

toiletToilet

Object describing a toilet inside the restroom, if existing.

turningSpaceInsideLength

How wide is the space inside that you can use for turning?

usageFeeCurrencyValue[]

Defines how much you have to pay to use this restroom. There might be multiple fee amounts, e.g. for different access types or usage times.

washBasinWashBasin

Object describing a wash basin belonging to this restroom. It can be outside of the restroom.

Room

Describes a room inside a structure.

NameType
accessArray of one or more of these strings:

customers delivery designated disabled emergency employees no permissive permit private public residents yes

Defines who this room is for. See https://wiki.openstreetmap.org/wiki/Key:access for more information.

addressStructuredAddress
descriptionLocalizedString
entranceEntranceProperties

Object describing the entrance to this room.

entrancesEntrance[]

Object describing the entrance to this room.

hasSupportRailsboolean

true if there support rails on the walls

interactions Object with one or more of these keys:

callEmergency closeWindow enter exit lookAround openWindow play see sit sleep stand storeThings wait

Values must be of type InteractionMode.

An object that indicates how the object can be interacted with, or how you can engange in the main function of a place or thing.

The keys of this object are the interaction types, and the values are InteractionMode objects.

isAccessibleWithWheelchairboolean

true if the room's relevant facilities are completely accessible while using a wheelchair, false if not, undefined if the condition is unknown or difficult to assess.

sameAsstring[]
turningSpaceInsideLength

How wide is the space inside that you can use for turning?

Seat

Describes one or multiple seats / chairs / benches / stools / couches / sofas / armchairs / ...

NameType
adjustmentAxesArray of one or more of these strings:

axial coronal sagittal

The seat can be adjusted in the following axes.

adjustmentDirectionsArray of one or more of these strings:

backward clockwise counterclockwise down forward left right up

The seat can be adjusted in the following directions.

columnsnumber[]

The seat column numbers. This is only for seats in a fixed seating arrangement.

descriptionLocalizedString

Name of the entrance (helpful if there are multiple entrances).

fixedHeightLength

How high is the desk? For variable-height desks, use minimalHeight and maximalHeight instead.

This can be used to determine if a wheelchair user can sit at the desk.

hasAdjustableHeightboolean

The seat has an adjustable seating surface.

hasHeadRestboolean

The seat has a headrest.

hasRemovableArmRestsboolean

The seat has removable armrests.

hasSeatbeltboolean

The seat has a seatbelt.

interactions Object with one or more of these keys:

adjust adjustArmRests adjustBackRest adjustFootRest adjustHeadRest adjustHeight adjustLegRest adjustSeatBelt adjustSeatBeltAngle adjustSeatBeltHeight adjustSeatBeltLength adjustSeatBeltLock adjustSeatBeltPosition adjustSeatBeltTension adjustSeatingAngle adjustSeatingSurface connectSeatbelt fold move removeArmrests sit unfold

Values must be of type InteractionMode.

An object that indicates how the object can be interacted with, or how you can engange in the main function of a place or thing.

The keys of this object are the interaction types, and the values are InteractionMode objects.

intercomundefined | Intercom

Information about an intercom at this seat, if applicable.

null indicates there is no intercom.

isCenterColumnboolean

The seat is located at the center of the seating arrangement, laterally.

isFixedboolean

The seat is fixed.

isFoldableboolean

The seat can be folded.

isFrontRowboolean

The seat is located at the front row of the seating arrangement.

isLastRowboolean

The seat is located at the last row of the seating arrangement.

isMobileboolean

The seat is mobile.

isWheelchairAccessibleboolean

The seat is wheelchair accessible.

maximalHeightLength

How high is the desk maximally? This is only for variable-height desks. Use fixedHeight for fixed-height desks. This can be used to determine if a wheelchair user can sit at the desk.

minimalHeightLength

How high is the desk minimally? This is only for variable-height desks. Use fixedHeight for fixed-height desks. This can be used to determine if a wheelchair user can sit at the desk.

nameLocalizedString

Name of the entrance (helpful if there are multiple entrances).

paymentundefined | Payment

Information about payment at this seat or the cost of using this seat.

null indicates there is no payment possible/required.

reservedForPersonsWithPersonalProfile

The seat is reserved for persons with the given profile.

rowsnumber[]

The seat row numbers. This is only for seats in a fixed seating arrangement.

seatbeltPointsnumber

The number of seatbelt points.

turningSpaceInFrontLength

How much space is there in front of the desk? This can be used to determine if a wheelchair user can sit at the desk.

Shower

Describes a shower.

NameType
doorDoor
grabBarsGrabBars

Ergonomic handles inside the shower.

hasShowerSeatboolean

true if the shower has a seat, false if not..

hasSupportRailsboolean

true if the shower has support rails, false if not.

interactions Object with one or more of these keys:

transfer useConditioner useShampoo useShowerCurtain useShowerGel useShowerHead useSoap useSupport wash

Values must be of type InteractionMode.

An object that indicates how the object can be interacted with, or how you can engange in the main function of a place or thing.

The keys of this object are the interaction types, and the values are InteractionMode objects.

seatSeat

Describes the shower seat, if existing.

stairsStairs

Signage

Describes a signage / physical navigation system belonging to a location.

NameType
descriptionLocalizedString

A description of the signage.

fontHeightLength

The height of the font used on the signage. Most likely in millimeters, using a range.

hasAudioboolean

true if the signage has audio, false if not.

hasBrailleboolean

true if the signage has braille, false if not.

hasNumbersboolean

true if the signage uses a numbering scheme, false if not, undefined if condition is unknown.

hasPictogramsboolean

true if the signage has pictograms, false if not.

hasRaisedLettersboolean

true if the signage has raised letters, false if not.

hasSearchboolean

true if the signage has a search function, false if not, undefined if condition is unknown.

hasTactileGuideStripsboolean

true if the signage has tactile guide strips, false if not, undefined if condition is nknown.

hasTactileHandRailsboolean

true if the signage has tactile hand rails, false if not, undefined if condition is unknown.

hasTactileMapboolean

true if the signage has a tactile map, false if not.

hasTactileNorthMarkersboolean

true if the signage has tactile north markers, false if not, undefined if condition is unknown.

https://twitter.com/saizai/status/1210352258950598656

hasTactilePavingboolean

true if the signage has tactile paving, false if not.

hasTactileRoomNamesboolean

true if the signage has tactile room names, false if not, undefined if condition is unknown.

hasTextboolean

true if the signage has text features, false if not.

hasVideoboolean

true if the signage has video, false if not.

hasVirtualMapboolean

true if the signage has a virtual map, false if not.

highLegibilityboolean

true if the signage has high legibility, false if not.

interactions Object with one or more of these keys:

findYourDestination locateYourself useSitemap

Values must be of type InteractionMode.

An object that indicates how the object can be interacted with, or how you can engange in the main function of a place or thing.

The keys of this object are the interaction types, and the values are InteractionMode objects.

isHighContrastboolean

true if the signage has high contrast, false if not.

Staff

Describes the presence of staff and their qualifications and/or provided services.

NameType
canSeeVisitorsFromInsideboolean

true if the staff has means to see visitors from the inside at all times when the place is open (for example a window or CCTV system), false if not.

hasFreeAssistantForVisitorsboolean

true if there is an assistant for the duration of the visit that is free of charge, false if not.

languagesstring[]

Languages that the staff speaks, including sign language variants.

Uses IETF language codes.

spokenLanguagesstring[]

Stairs

The Stairs interface describes one or more walkable stairs.

NameType
alternativeMobileEquipmentIdsstring[]

You SHOULD reference alternative equipment IDs with this field, for example elevators, escalators, or hoists.

countnumber

Number of steps.

floorsstring[]

Floor numbers that are accessible via these stairs.

grabBarsGrabBars

Grab bars belonging to the stairs.

hasAntiSlipNosingboolean

true if all relevant steps are made with anti-slip material.

hasBrailleSignageboolean

true if there is braille navigation in this staircase, false if not.

hasHandRailboolean

true if there is a handrail covering all relevant steps, false if not.

hasHighContrastNosingboolean

true if all relevant steps have a high contrast nosing.

hasMetalGratingboolean

Do the stairs have metal grating? This is difficult to navigate for people with assistance dogs.

hasTactileSafetyStripsboolean

true if all relevant steps have tactile safety surfaces, used as warnings, implying textures detectable with the touch of a foot or sweep of a cane.

hasTactileSignageboolean

true if there is tactile navigation in this staircase, false if not.

isSpiralboolean

true if the stairs are spiral, false if not.

isWellLitboolean

Are the stairs and podests well lit?

nameLocalizedString

If there are multiple staircase, you SHOULD indicate a name for this staircase here.

stepHeightLength

Indicates how high the steps if these stairs are (can be a range).

StructuredAddress

The address of a places as Address as a series of structured attributes.

NameType
areasLocalizedString[]

An array of named areas below the district and above street. In some regions such areas might also contain street names, when individual street segments have names separate from the name of the whole road.

buildingLocalizedString

Building name

cityLocalizedString

The name of the primary locality of the place.

countryCodestring

A three-letter country code in ISO 3166-1 alpha-3, see https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3

countyLocalizedString

A division of a state; typically a secondary-level administrative division of a country or equivalent.

districtLocalizedString

A division of city; typically an administrative unit within a larger city or a customary name of a city's neighborhood.

houseLocalizedString

House or street number.

levelIndexnumber

Relative in relation to other levels. 0 for ground level must have index 0, 1 for first level, etc. You can use half numbers for levels like 1.5.

levelNameLocalizedString

Name of the level. Example: { en: "Floor 1" }, { en: "Ground level" }.

postalCodeLocalizedString

An alphanumeric string included in a postal address to facilitate mail sorting (a.k.a. post code, postcode, or ZIP code).

regionsLocalizedString[]

For address conventions where more than to levels of named areas above the city level are in use, the regions attribute provides an array with all additional area names, ordered by decreasing size (starting with the highest subdivision below state)

roomLocalizedString

Room name. Example: { en: "Meeting room ‘Rome’" }.

roomNumberLocalizedString

Room number. Example: { en: "B-101" }.

stateLocalizedString

A division of a country; typically a first-level administrative division of a country and/or a geographical region.

stateCodestring

A code/abbreviation for the state division of a country.

streetLocalizedString

Street name (in practice may also contain street number).

textLocalizedString

A displayable, formatted address as rich text.

Surface

Describes the surface of a ground or path.

NameType
lateralSlopeSlope
longitudinalSlopeSlope
smoothnessOne of the following strings:

bad excellent good horrible impassable intermediate very_bad very_good very_horrible

According to https://wiki.openstreetmap.org/wiki/Key:smoothness

turningSpaceLength

Turning space that this ground provides to people.

typesArray of one or more of these strings:

acrylic aluminium anti-slip artificial artificial_grass artificial_turf asfalto ash asphalt astroturf bamboo bare_rock bark barkchips bedrock bitumen bituminous block boardwalk boulders brick brick_weave bricks bushes carpet cement chalk chipseal cinder clay cobblestone compacted compacted_gravel composite con concrete concrete_slab concrete_slabs construction coral coral_sand crushed_limestone crushed_shells debris decoturf dirt earth enrobé fine_gravel fine_sand flagstone footway glass goudron granite grass grass_paver grass_scrub grassland grating gravel green grit ground hardcore ice ice_road interlock iron laterite lawn leaves limerock limestone linoleum loose_gravel marble marble_plate meadow metal metal_grid mixed moss mud mulch native natural none oil overgrown path paved pavement paving paving_stone paving_stones peat pebbles pebblestone plank plastic plates rasin residential rock rocks rocky roman_paving rubber rubbercrumb rubble salt sand sandstone sawdust scree scrub sealed sett shell shells shingle slabs snow soil spur steel stepping_stones stone stones synthetic tactile_paving tar tared tarmac tartan terra terre tile tiles timber track trail trees tuff turf undefined unhewn_cobblestone unpaved unpaved2 unpaved33 unpaved_minor unsealed water wood wood_chips woodchips zebra

According to https://wiki.openstreetmap.org/wiki/Key:surface

TechCombination

Describes a combination of technologies that are used together to achieve a specific goal.

The uris property is required.

NameType
descriptionLocalizedString

Localizable description of the combination. Can describe in which mode or for what goal the tech is used.

nameLocalizedString

Localizable name/title of the combination. Can describe in which mode or for what goal the tech is used.

uris*string[]

URIs of technologies that are combined together to form this tech combination. Use RDF if possible.

Supported prefix examples:

Toilet

Describes a single toilet that can be inside a restroom or cabin.

NameType
flushMechanismDistanceFromToiletLength

Indicates how far the flush mechanism(s) from the toilet, from the perspective of a the floor plan. If the flush mechanism is right behind the toilet, this is a 0 length.

grabBarsGrabBars

Object describing the grab bars.

hasAutomaticFlushboolean

true if the toilet is automatically flushing after use.

heightOfBaseLength

Indicates the height of the toilet’s base.

interactions Object with one or more of these keys:

flush secondaryFlush spray use

Values must be of type InteractionMode.

An object that indicates how the object can be interacted with, or how you can engange in the main function of a place or thing.

The keys of this object are the interaction types, and the values are InteractionMode objects.

isLatrineboolean

Indicates whether the toilet is a latrine.

isSquatToiletboolean

Indicates whether the toilet is a squat toilet.

isUrinalboolean

Indicates whether the toilet is a urinal.

spaceInFrontLength

How much space is in front of the toilet?

spaceOnUsersLeftSideLength

How much space is on the left side of the toilet? (from the perspective of somebody using the toilet)

spaceOnUsersRightSideLength

How much space is on the right side of the toilet? (from the perspective of somebody using the toilet)

WashBasin

Describes a wash basin.

NameType
accessibleWithWheelchairboolean

true if the wash basin is accessible with wheelchairs, false if not.

heightLength

Defines at which height is the wash basin's top

interactions Object with one or more of these keys:

changeTemperature changeWaterPressure getCarbonizedWater getColdWater getHotWater getPaperTowel getTowel sanitizeHands useAirDryer useSoap useWater useWaterJet useWaterSpray

Values must be of type InteractionMode.

An object that indicates how the object can be interacted with, or how you can engange in the main function of a place or thing.

The keys of this object are the interaction types, and the values are InteractionMode objects.

isLocatedInsideRestroomboolean

true if the restroom's wash basin is inside the cabin, false if not.

spaceBelowDepthLength

How deep is the space below the wash basin?

spaceBelowHeightLength

How high is the space below the wash basin?

WheelchairParking

Describes one or more wheelchair parking lots.

NameType
countnumber

Defines many wheelchair accessible parking lots are provided

distanceToEntranceLength

How far away is the parking from the main entrance? If there is a separate wheelchair entrance, the distance to this entrance MUST be used.

hasDedicatedSignageboolean

true if there is dedicated signage at all relevant turning points from the street to the parking, false if not, undefined if this is unknown.

interactions Object with one or more of these keys:

arrive enterVehicle exitVehicle park

Values must be of type InteractionMode.

An object that indicates how the object can be interacted with, or how you can engange in the main function of a place or thing.

The keys of this object are the interaction types, and the values are InteractionMode objects.

isLocatedInsideboolean

true if the parking is inside a building or under a roof, false if not, undefined if unknown.

lengthLength

Length constraint of the parking lots.

locationLocalizedString

Describes where the parking is located.

maxVehicleHeightLength

Maximal allowed vehicle height for users of this parking.

neededParkingPermitsLocalizedString[]

List of permit names that allow using this parking.

widthLength

Width constraint of the parking lots.

WheelchairPlaces

The WheelchairPlaces interface describes the presence of reserved spots for wheelchairs.

The count property is required.

NameType
count*number

The number of designated places for wheelchairs, for example, in a cinema or theater.

hasSpaceForAssistantboolean

Is there additional space for an assistant?

wheelchairUserCapacitynumber

The number of people using a wheelchair that can be accomodated at the same time. Use this when there is no designated space for wheelchair users, but the number is known.

WifiAccessibility

Describes the presence of staff and their qualifications and/or provided services.

NameType
accessArray of one or more of these strings:

customers delivery designated disabled emergency employees no permissive permit private public residents yes

Describes who can access the wifi.

descriptionWhereToGetLoginDataLocalizedString

Describes where you get the login data / guest pass.

hasCaptivePortalboolean

true if the wifi has a captive portal website.

hasFixedPasswordboolean

true if the wifi has a fixed password. Knowing this password must be enough to enter and use the wifi.

isCaptivePortalAccessibleboolean

true if the wifi captive portal is accessible (WAI/ARIA).

isOpenToEveryoneboolean

true if the wifi is open to everyone, false if it is explicitly not.

isOpenToStaffboolean

true if the wifi is open to explicit place staff, false if explicitly not.

isOpenToVisitorsboolean

true if the wifi is open to explicit place visitors, false if explicitly not.

needsGuestPassboolean

true if you need a personalized guest pass / code / password to use the wifi, false if not.

passwordstring

A string with the Wifi password. Only use this attribute if security allows to publish this info online publicly.

ssidstring

A string with the Wifi name (SSID). Only use this attribute if security allows to publish this info online publicly.

usageFeeCurrencyValue[]

Describes if you need to pay a usage fee to use the wifi, or if no fee is needed.

\ No newline at end of file diff --git a/describing-objects/0-quantities/index.html b/describing-objects/0-quantities/index.html index 355ab8d..63c52bd 100644 --- a/describing-objects/0-quantities/index.html +++ b/describing-objects/0-quantities/index.html @@ -1,4 +1,4 @@ - Quantities - A11yJSON
Skip to content

Quantities

Accessibility survey data often contains unclear or aggregated definitions of quantities.

A11yJSON represents quantities either as string or as Quantity object with separate properties for value and unit. Both of the following definitions are valid and have the same meaning:

{
-  "door": {
-    "width": "90 cm",
-  }
-}
-
{
-  "door": {
-    "width": {
-      "value": 90,
-      "unit": "cm"
-    }
-  }
-}
-

When you supply a string, any value + unit string that js-quantities supports as input is valid. Imperial or metric units, both works.

As the data representation is SI-unit based, you can use the resulting data with any system that supports SI units:

Besides value and unit, you can save the original data value as string representation as rawValue to debug conversion errors. When saving quantities, you have to specify them including their unit. You can provide measures as fixed quantities, but also with constraints and variance (uwing the accuracy field). This helps

  • when the measurement method is imprecise
  • when a person guesses a length, e.g., the width of a door
  • when you want to transform a averaged measurements of more than one object
  • when you derive the data from a catalog of criteria (e.g. when the original source states that all collected wheelchair-accessible entrance doors were more than 90cm wide, and only stores a boolean variable for this)
\ No newline at end of file +
Skip to content

Quantities

Accessibility survey data often contains unclear or aggregated definitions of quantities.

A11yJSON represents quantities either as string or as Quantity object with separate properties for value and unit. Both of the following definitions are valid and have the same meaning:

{
+  "door": {
+    "width": "90 cm",
+  }
+}
+
{
+  "door": {
+    "width": {
+      "value": 90,
+      "unit": "cm"
+    }
+  }
+}
+

When you supply a string, any value + unit string that js-quantities supports as input is valid. Imperial or metric units, both works.

As the data representation is SI-unit based, you can use the resulting data with any system that supports SI units:

Besides value and unit, you can save the original data value as string representation as rawValue to debug conversion errors. When saving quantities, you have to specify them including their unit. You can provide measures as fixed quantities, but also with constraints and variance (uwing the accuracy field). This helps

  • when the measurement method is imprecise
  • when a person guesses a length, e.g., the width of a door
  • when you want to transform a averaged measurements of more than one object
  • when you derive the data from a catalog of criteria (e.g. when the original source states that all collected wheelchair-accessible entrance doors were more than 90cm wide, and only stores a boolean variable for this)
\ No newline at end of file diff --git a/describing-objects/constants/index.html b/describing-objects/constants/index.html index 9a12ebd..758a59a 100644 --- a/describing-objects/constants/index.html +++ b/describing-objects/constants/index.html @@ -1,4 +1,4 @@ - Constants - A11yJSON
Skip to content

Constants

Besides interfaces and bare types, A11yJSON defines the following constants.

Some lack proper formatting in the documentation. Fixes in tools/generate-overview.ts are welcome!

AccelerationSchema

SimpleSchema from the @sozialhelden/simpl-schema NPM package.

AccelerationSchemaDefinition

Validates a acceleration quantity object and will only accept acceleration units, eg. meter/second^2, miles/hour^2. Useful to describe the acceleration of a vehicle, or the acceleration that a person is subjected to.

SchemaDefinition from the @sozialhelden/simpl-schema NPM package.

AccessTypes

Read-only tuple with 15 strings:

  • private
  • public
  • customers
  • permissive
  • yes
  • no
  • permit
  • designated
  • delivery
  • emergency
  • residents
  • employees
  • disabled
  • yes
  • no

BaseQuantitySchema

SimpleSchema from the @sozialhelden/simpl-schema NPM package.

BrightnessSchema

SimpleSchema from the @sozialhelden/simpl-schema NPM package.

BrightnessSchemaDefinition

Validates a brightness descriptor and will only accept brightness units, eg. nits or lumens.

SchemaDefinition from the @sozialhelden/simpl-schema NPM package.

DeskInteractions

Read-only tuple with 20 strings:

  • changeHeight
  • savePreset
  • enqueue
  • checkIn
  • checkOut
  • ringBell
  • pay
  • handoverLuggage
  • handover
  • getReturn
  • getFood
  • getShoppingBag
  • scan
  • selfCheckout
  • open
  • close
  • unlock
  • lock
  • unlockAndLock
  • openAndClose

DeskInteractionsSet

Set<One of the following strings:

changeHeight checkIn checkOut close enqueue getFood getReturn getShoppingBag handover handoverLuggage lock open openAndClose pay ringBell savePreset scan selfCheckout unlock unlockAndLock

>

DirectionAxes

Describes a physical direction axis relative to a person’s body.

Read-only tuple with 3 strings:

  • sagittal
  • coronal
  • axial

Directions

Describes physical directions, from the perspective of a person facing forward.

Read-only tuple with 8 strings:

  • up
  • down
  • left
  • right
  • forward
  • backward
  • clockwise
  • counterclockwise

DoorInteractions

Read-only tuple with 7 strings:

  • ringDoorbell
  • open
  • close
  • unlock
  • lock
  • unlockAndLock
  • openAndClose

DoorInteractionsSet

Set<One of the following strings:

close lock open openAndClose ringDoorbell unlock unlockAndLock

>

EquipmentInteractions

Read-only tuple with 21 strings:

  • use
  • selectFloor
  • arriveAtFloor
  • callEmergency
  • ride
  • travel
  • buy
  • sell
  • call
  • understand
  • sleep
  • toggle
  • engage
  • flush
  • scan
  • handover
  • enable
  • disable
  • locateYourself
  • findYourDestination
  • getTreatment

EquipmentInteractionsSet

Set<One of the following strings:

arriveAtFloor buy call callEmergency disable enable engage findYourDestination flush getTreatment handover locateYourself ride scan selectFloor sell sleep toggle travel understand use

>

EquipmentTypes

Read-only tuple with 23 strings:

  • bed
  • wardrobe
  • elevator
  • escalator
  • movingWalkway
  • ramp
  • hoist
  • stairLift
  • switch
  • sitemap
  • vendingMachine
  • intercom
  • powerOutlet
  • flushMechanism
  • bodyScanner
  • luggageScanner
  • ticketVendingMachine
  • xrayMachine
  • ctScanner
  • mriScanner
  • ultrasoundScanner
  • wheelchairLift
  • treatmentChair

ForceSchema

SimpleSchema from the @sozialhelden/simpl-schema NPM package.

ForceSchemaDefinition

Validates a force quantity object and will only accept force units, eg. newton, or kilogram*meter/second^2.

SchemaDefinition from the @sozialhelden/simpl-schema NPM package.

GenericInteractions

Read-only tuple with 27 strings:

  • watchMovies
  • watchPlays
  • explore
  • visit
  • roam
  • read
  • rent
  • watch
  • see
  • listen
  • getFood
  • getTreatment
  • getService
  • eat
  • pay
  • buy
  • sell
  • workHere
  • arrive
  • checkIn
  • checkOut
  • useLockers
  • useService
  • change
  • use
  • book
  • play

GenericInteractionsSet

Set<One of the following strings:

arrive book buy change checkIn checkOut eat explore getFood getService getTreatment listen pay play read rent roam see sell use useLockers useService visit watch watchMovies watchPlays workHere

>

GrabBarsInteractions

Read-only tuple with 5 strings:

  • localizeYourself
  • findYourDestination
  • foldUp
  • foldDown
  • adjust

GrabBarsInteractionsSet

Set<One of the following strings:

adjust findYourDestination foldDown foldUp localizeYourself

>

HertzSchema

SimpleSchema from the @sozialhelden/simpl-schema NPM package.

HertzSchemaDefinition

Validates a frequency quantity object and will only accept frequency units, eg. hertz.

SchemaDefinition from the @sozialhelden/simpl-schema NPM package.

IntercomInteractions

Read-only tuple with 6 strings:

  • ring
  • call
  • hangUp
  • open
  • close
  • identify

IntercomInteractionsSet

Set<One of the following strings:

call close hangUp identify open ring

>

LengthSchema

SimpleSchema from the @sozialhelden/simpl-schema NPM package.

LengthSchemaDefinition

Validates a length quantity object and will only accept length units, eg. meter, centimeter or inch.

SchemaDefinition from the @sozialhelden/simpl-schema NPM package.

MassSchema

SimpleSchema from the @sozialhelden/simpl-schema NPM package.

MassSchemaDefinition

Validates a mass quantity object and will only accept mass/weight units, eg. kilogram, gram or pound.

SchemaDefinition from the @sozialhelden/simpl-schema NPM package.

MediaInteractions

Read-only tuple with 11 strings:

  • watch
  • listen
  • feel
  • discover
  • open
  • close
  • rent
  • recognize
  • browse
  • read
  • interact

MediaInteractionsSet

Set<One of the following strings:

browse close discover feel interact listen open read recognize rent watch

>

MediaTypeSet

Set<One of the following strings:

document exhibit form guide menu movie play presentation screen tour website

>

MediaTypes

Read-only tuple with 11 strings:

  • document
  • menu
  • guide
  • tour
  • presentation
  • exhibit
  • movie
  • play
  • screen
  • website
  • form

MirrorInteractions

Read-only tuple with 5 strings:

  • turn
  • adjust
  • move
  • clean
  • use

MirrorInteractionsSet

Set<One of the following strings:

adjust clean move turn use

>

Operators

The allowed operators for comparison quantities

Read-only tuple with 9 strings:

  • <
  • <=
  • ==
  • >=
  • >
  • =
  • ~
  • ~=
  • !=

ParkingInteractions

Read-only tuple with 4 strings:

  • park
  • enterVehicle
  • exitVehicle
  • arrive

ParkingInteractionsSet

Set<One of the following strings:

arrive enterVehicle exitVehicle park

>

PaymentInteractions

Read-only tuple with 5 strings:

  • pay
  • checkIn
  • logIn
  • logOut
  • register

QueueSystemInteractions

Read-only tuple with 9 strings:

  • enqueue
  • skipQueue
  • wait
  • leaveQueue
  • arrive
  • checkIn
  • checkOut
  • getTicket
  • getOnesTurn

QueueSystemInteractionsSet

Set<One of the following strings:

arrive checkIn checkOut enqueue getOnesTurn getTicket leaveQueue skipQueue wait

>

RestroomSignIcons

Read-only tuple with 10 strings:

  • allGender
  • female
  • male
  • personInWheelchair
  • changingTable
  • baby
  • family
  • urinal
  • washBasin
  • toiletBowl

RoomInteractions

Read-only tuple with 13 strings:

  • enter
  • exit
  • stand
  • sit
  • see
  • sleep
  • play
  • wait
  • storeThings
  • lookAround
  • openWindow
  • closeWindow
  • callEmergency

RoomInteractionsSet

Set<One of the following strings:

callEmergency closeWindow enter exit lookAround openWindow play see sit sleep stand storeThings wait

>

SeatInteractions

Read-only tuple with 22 strings:

  • sit
  • fold
  • unfold
  • move
  • adjust
  • adjustHeight
  • adjustSeatingSurface
  • adjustSeatingAngle
  • adjustArmRests
  • removeArmrests
  • adjustHeadRest
  • adjustLegRest
  • adjustBackRest
  • adjustFootRest
  • adjustSeatBelt
  • adjustSeatBeltLength
  • adjustSeatBeltHeight
  • adjustSeatBeltAngle
  • adjustSeatBeltPosition
  • adjustSeatBeltTension
  • adjustSeatBeltLock
  • connectSeatbelt

SeatInteractionsSet

Set<One of the following strings:

adjust adjustArmRests adjustBackRest adjustFootRest adjustHeadRest adjustHeight adjustLegRest adjustSeatBelt adjustSeatBeltAngle adjustSeatBeltHeight adjustSeatBeltLength adjustSeatBeltLock adjustSeatBeltPosition adjustSeatBeltTension adjustSeatingAngle adjustSeatingSurface connectSeatbelt fold move removeArmrests sit unfold

>

ShowerInteractions

Read-only tuple with 9 strings:

  • transfer
  • wash
  • useShampoo
  • useShowerGel
  • useSoap
  • useConditioner
  • useShowerCurtain
  • useShowerHead
  • useSupport

ShowerInteractionsSet

Set<One of the following strings:

transfer useConditioner useShampoo useShowerCurtain useShowerGel useShowerHead useSoap useSupport wash

>

SignageInteractions

Read-only tuple with 3 strings:

  • locateYourself
  • findYourDestination
  • useSitemap

SignageInteractionsSet

Set<One of the following strings:

findYourDestination locateYourself useSitemap

>

SlopeSchema

SimpleSchema from the @sozialhelden/simpl-schema NPM package.

SlopeSchemaDefinition

Validates a slope quantity object and will only accept units to descrie a slope, eg. degrees.

SchemaDefinition from the @sozialhelden/simpl-schema NPM package.

SmoothnessTypeValues

Read-only tuple with 9 strings:

  • excellent
  • good
  • intermediate
  • bad
  • horrible
  • impassable
  • very_bad
  • very_horrible
  • very_good

SpeedSchema

SimpleSchema from the @sozialhelden/simpl-schema NPM package.

SpeedSchemaDefinition

Validates a speed quantity object and will only accept speed units, eg. meter/second, miles/hour or similar.

SchemaDefinition from the @sozialhelden/simpl-schema NPM package.

SurfaceTypeValues

Read-only tuple with 158 strings:

  • acrylic
  • aluminium
  • anti-slip
  • artificial
  • artificial_grass
  • artificial_turf
  • asfalto
  • ash
  • asphalt
  • astroturf
  • bamboo
  • bare_rock
  • bark
  • barkchips
  • bedrock
  • bitumen
  • bituminous
  • block
  • boardwalk
  • boulders
  • brick
  • brick_weave
  • bricks
  • bushes
  • carpet
  • cement
  • chalk
  • chipseal
  • cinder
  • clay
  • cobblestone
  • compacted
  • compacted_gravel
  • composite
  • con
  • concrete
  • concrete_slab
  • concrete_slabs
  • construction
  • coral
  • coral_sand
  • crushed_limestone
  • crushed_shells
  • debris
  • decoturf
  • dirt
  • earth
  • enrobé
  • fine_gravel
  • fine_sand
  • flagstone
  • footway
  • glass
  • goudron
  • granite
  • grass
  • grass_paver
  • grass_scrub
  • grassland
  • grating
  • gravel
  • green
  • grit
  • ground
  • hardcore
  • ice
  • ice_road
  • interlock
  • iron
  • laterite
  • lawn
  • leaves
  • limerock
  • limestone
  • linoleum
  • loose_gravel
  • marble
  • marble_plate
  • meadow
  • metal
  • metal_grid
  • mixed
  • moss
  • mud
  • mulch
  • native
  • natural
  • none
  • oil
  • overgrown
  • path
  • paved
  • pavement
  • paving
  • paving_stone
  • paving_stones
  • peat
  • pebbles
  • pebblestone
  • plank
  • plastic
  • plates
  • rasin
  • residential
  • rock
  • rocks
  • rocky
  • roman_paving
  • rubber
  • rubbercrumb
  • rubble
  • salt
  • sand
  • sandstone
  • sawdust
  • scree
  • scrub
  • sealed
  • sett
  • shell
  • shells
  • shingle
  • slabs
  • snow
  • soil
  • spur
  • steel
  • stepping_stones
  • stone
  • stones
  • synthetic
  • tactile_paving
  • tar
  • tared
  • tarmac
  • tartan
  • terra
  • terre
  • tile
  • tiles
  • timber
  • track
  • trail
  • trees
  • tuff
  • turf
  • undefined
  • unhewn_cobblestone
  • unpaved
  • unpaved2
  • unpaved33
  • unpaved_minor
  • unsealed
  • water
  • wood
  • wood_chips
  • woodchips
  • zebra

TemperatureSchema

SimpleSchema from the @sozialhelden/simpl-schema NPM package.

TemperatureSchemaDefinition

Validates a temperature quantity object and will only accept temperature units, eg. degrees celsius (degC), degrees Fahrenheit (degF) or kelvin (K).

SchemaDefinition from the @sozialhelden/simpl-schema NPM package.

TimeIntervalSchema

SimpleSchema from the @sozialhelden/simpl-schema NPM package.

TimeIntervalSchemaDefinition

Validates a timer interval object and will only accept time units, eg. seconds, minutes or hours.

SchemaDefinition from the @sozialhelden/simpl-schema NPM package.

ToiletInteractions

Read-only tuple with 4 strings:

  • use
  • flush
  • secondaryFlush
  • spray

ToiletInteractionsSet

Set<One of the following strings:

flush secondaryFlush spray use

>

UnitlessSchema

SimpleSchema from the @sozialhelden/simpl-schema NPM package.

UnitlessSchemaDefinition

SchemaDefinition from the @sozialhelden/simpl-schema NPM package.

Urgencies

Read-only tuple with 5 strings:

  • alert
  • alarm
  • warning
  • info
  • debug

VolumeSchema

SimpleSchema from the @sozialhelden/simpl-schema NPM package.

VolumeSchemaDefinition

Validates a sound volume quantity object and will only accept sound volume units, eg. decibel.

SchemaDefinition from the @sozialhelden/simpl-schema NPM package.

WashBashinInteractions

Read-only tuple with 13 strings:

  • changeTemperature
  • changeWaterPressure
  • useWater
  • getHotWater
  • getColdWater
  • getCarbonizedWater
  • useWaterJet
  • useWaterSpray
  • useSoap
  • getTowel
  • getPaperTowel
  • useAirDryer
  • sanitizeHands

WashBasinInteractionsSet

Set<One of the following strings:

changeTemperature changeWaterPressure getCarbonizedWater getColdWater getHotWater getPaperTowel getTowel sanitizeHands useAirDryer useSoap useWater useWaterJet useWaterSpray

>

WheelchairAccessibilityGrades

Describes the general wheelchair accessibility of the place. This is a human-rated value. It SHOULD conform to the traffic light system found in OpenStreetMap and Wheelmap.org.

Read-only tuple with 3 strings:

  • fully
  • partially
  • not

WifiInteractions

Read-only tuple with 6 strings:

  • login
  • register
  • getPassword
  • getGuestPass
  • getTerms
  • acceptTerms

WifiInteractionsSet

Set<One of the following strings:

acceptTerms getGuestPass getPassword getTerms login register

>

smokingPolicies

Describes smoking policies for visitors of a place.

Read-only tuple with 6 strings:

  • dedicatedToSmoking
  • allowedEverywhere
  • inSeparateArea
  • inIsolatedArea
  • prohibited
  • onlyOutside
\ No newline at end of file +

Besides interfaces and bare types, A11yJSON defines the following constants.

Some lack proper formatting in the documentation. Fixes in tools/generate-overview.ts are welcome!

AccelerationSchema

SimpleSchema from the @sozialhelden/simpl-schema NPM package.

AccelerationSchemaDefinition

Validates a acceleration quantity object and will only accept acceleration units, eg. meter/second^2, miles/hour^2. Useful to describe the acceleration of a vehicle, or the acceleration that a person is subjected to.

SchemaDefinition from the @sozialhelden/simpl-schema NPM package.

AccessTypes

Read-only tuple with 15 strings:

BaseQuantitySchema

SimpleSchema from the @sozialhelden/simpl-schema NPM package.

BrightnessSchema

SimpleSchema from the @sozialhelden/simpl-schema NPM package.

BrightnessSchemaDefinition

Validates a brightness descriptor and will only accept brightness units, eg. nits or lumens.

SchemaDefinition from the @sozialhelden/simpl-schema NPM package.

DeskInteractions

Read-only tuple with 20 strings:

DeskInteractionsSet

Set<One of the following strings:

changeHeight checkIn checkOut close enqueue getFood getReturn getShoppingBag handover handoverLuggage lock open openAndClose pay ringBell savePreset scan selfCheckout unlock unlockAndLock

>

DirectionAxes

Describes a physical direction axis relative to a person’s body.

Read-only tuple with 3 strings:

Directions

Describes physical directions, from the perspective of a person facing forward.

Read-only tuple with 8 strings:

DoorInteractions

Read-only tuple with 7 strings:

DoorInteractionsSet

Set<One of the following strings:

close lock open openAndClose ringDoorbell unlock unlockAndLock

>

EquipmentInteractions

Read-only tuple with 21 strings:

EquipmentInteractionsSet

Set<One of the following strings:

arriveAtFloor buy call callEmergency disable enable engage findYourDestination flush getTreatment handover locateYourself ride scan selectFloor sell sleep toggle travel understand use

>

EquipmentTypes

Read-only tuple with 23 strings:

ForceSchema

SimpleSchema from the @sozialhelden/simpl-schema NPM package.

ForceSchemaDefinition

Validates a force quantity object and will only accept force units, eg. newton, or kilogram*meter/second^2.

SchemaDefinition from the @sozialhelden/simpl-schema NPM package.

GenericInteractions

Read-only tuple with 32 strings:

GenericInteractionsSet

Set<One of the following strings:

arrive book buy change checkIn checkOut eat explore getDrinks getFood getService getTreatment listen main order orderAnnouncement pay pickUpOrder play read rent roam see sell use useLockers useService visit watch watchMovies watchPlays workHere

>

GrabBarsInteractions

Read-only tuple with 5 strings:

GrabBarsInteractionsSet

Set<One of the following strings:

adjust findYourDestination foldDown foldUp localizeYourself

>

HertzSchema

SimpleSchema from the @sozialhelden/simpl-schema NPM package.

HertzSchemaDefinition

Validates a frequency quantity object and will only accept frequency units, eg. hertz.

SchemaDefinition from the @sozialhelden/simpl-schema NPM package.

IntercomInteractions

Read-only tuple with 6 strings:

IntercomInteractionsSet

Set<One of the following strings:

call close hangUp identify open ring

>

LengthSchema

SimpleSchema from the @sozialhelden/simpl-schema NPM package.

LengthSchemaDefinition

Validates a length quantity object and will only accept length units, eg. meter, centimeter or inch.

SchemaDefinition from the @sozialhelden/simpl-schema NPM package.

MassSchema

SimpleSchema from the @sozialhelden/simpl-schema NPM package.

MassSchemaDefinition

Validates a mass quantity object and will only accept mass/weight units, eg. kilogram, gram or pound.

SchemaDefinition from the @sozialhelden/simpl-schema NPM package.

MediaInteractions

Read-only tuple with 11 strings:

MediaInteractionsSet

Set<One of the following strings:

browse close discover feel interact listen open read recognize rent watch

>

MediaTypeSet

Set<One of the following strings:

document exhibit form guide menu movie play presentation screen tour website

>

MediaTypes

Read-only tuple with 11 strings:

MirrorInteractions

Read-only tuple with 5 strings:

MirrorInteractionsSet

Set<One of the following strings:

adjust clean move turn use

>

Necessities

Read-only tuple with 14 strings:

NecessityField

SchemaKeyDefinition from the @sozialhelden/simpl-schema NPM package.

Operators

The allowed operators for comparison quantities

Read-only tuple with 9 strings:

ParkingInteractions

Read-only tuple with 4 strings:

ParkingInteractionsSet

Set<One of the following strings:

arrive enterVehicle exitVehicle park

>

PaymentInteractions

Read-only tuple with 5 strings:

QueueSystemInteractions

Read-only tuple with 9 strings:

QueueSystemInteractionsSet

Set<One of the following strings:

arrive checkIn checkOut enqueue getOnesTurn getTicket leaveQueue skipQueue wait

>

RestroomSignIcons

Read-only tuple with 10 strings:

RoomInteractions

Read-only tuple with 13 strings:

RoomInteractionsSet

Set<One of the following strings:

callEmergency closeWindow enter exit lookAround openWindow play see sit sleep stand storeThings wait

>

SeatInteractions

Read-only tuple with 22 strings:

SeatInteractionsSet

Set<One of the following strings:

adjust adjustArmRests adjustBackRest adjustFootRest adjustHeadRest adjustHeight adjustLegRest adjustSeatBelt adjustSeatBeltAngle adjustSeatBeltHeight adjustSeatBeltLength adjustSeatBeltLock adjustSeatBeltPosition adjustSeatBeltTension adjustSeatingAngle adjustSeatingSurface connectSeatbelt fold move removeArmrests sit unfold

>

ShowerInteractions

Read-only tuple with 9 strings:

ShowerInteractionsSet

Set<One of the following strings:

transfer useConditioner useShampoo useShowerCurtain useShowerGel useShowerHead useSoap useSupport wash

>

SignageInteractions

Read-only tuple with 3 strings:

SignageInteractionsSet

Set<One of the following strings:

findYourDestination locateYourself useSitemap

>

SlopeSchema

SimpleSchema from the @sozialhelden/simpl-schema NPM package.

SlopeSchemaDefinition

Validates a slope quantity object and will only accept units to descrie a slope, eg. degrees.

SchemaDefinition from the @sozialhelden/simpl-schema NPM package.

SmoothnessTypeValues

Read-only tuple with 9 strings:

SpeedSchema

SimpleSchema from the @sozialhelden/simpl-schema NPM package.

SpeedSchemaDefinition

Validates a speed quantity object and will only accept speed units, eg. meter/second, miles/hour or similar.

SchemaDefinition from the @sozialhelden/simpl-schema NPM package.

SurfaceTypeValues

Read-only tuple with 158 strings:

TemperatureSchema

SimpleSchema from the @sozialhelden/simpl-schema NPM package.

TemperatureSchemaDefinition

Validates a temperature quantity object and will only accept temperature units, eg. degrees celsius (degC), degrees Fahrenheit (degF) or kelvin (K).

SchemaDefinition from the @sozialhelden/simpl-schema NPM package.

TimeIntervalSchema

SimpleSchema from the @sozialhelden/simpl-schema NPM package.

TimeIntervalSchemaDefinition

Validates a timer interval object and will only accept time units, eg. seconds, minutes or hours.

SchemaDefinition from the @sozialhelden/simpl-schema NPM package.

ToiletInteractions

Read-only tuple with 4 strings:

ToiletInteractionsSet

Set<One of the following strings:

flush secondaryFlush spray use

>

UnitlessSchema

SimpleSchema from the @sozialhelden/simpl-schema NPM package.

UnitlessSchemaDefinition

SchemaDefinition from the @sozialhelden/simpl-schema NPM package.

VolumeSchema

SimpleSchema from the @sozialhelden/simpl-schema NPM package.

VolumeSchemaDefinition

Validates a sound volume quantity object and will only accept sound volume units, eg. decibel.

SchemaDefinition from the @sozialhelden/simpl-schema NPM package.

WashBashinInteractions

Read-only tuple with 13 strings:

WashBasinInteractionsSet

Set<One of the following strings:

changeTemperature changeWaterPressure getCarbonizedWater getColdWater getHotWater getPaperTowel getTowel sanitizeHands useAirDryer useSoap useWater useWaterJet useWaterSpray

>

WheelchairAccessibilityGrades

Describes the general wheelchair accessibility of the place. This is a human-rated value. It SHOULD conform to the traffic light system found in OpenStreetMap and Wheelmap.org.

Read-only tuple with 3 strings:

WifiInteractions

Read-only tuple with 6 strings:

WifiInteractionsSet

Set<One of the following strings:

acceptTerms getGuestPass getPassword getTerms login register

>

smokingPolicies

Describes smoking policies for visitors of a place.

Read-only tuple with 6 strings:

\ No newline at end of file diff --git a/describing-objects/interfaces/index.html b/describing-objects/interfaces/index.html deleted file mode 100644 index f7247e1..0000000 --- a/describing-objects/interfaces/index.html +++ /dev/null @@ -1,102 +0,0 @@ - Interfaces - A11yJSON
Skip to content

Interfaces

This is a list of data structures that A11yJSON specifies.

They are meant to be interfaces in the software development sense: This means you can either use them as they are, or mix them into your own entity definitions.

Accessibility

Describes the physical (and sometimes human rated) accessibility of a place.

NameType
accessibleWithPersonalProfile
ambientNoiseLevelVolume

Ambient noise level in dB(A) relative to a reference pressure of 0.00002 Pa. Median over a 10-second period at least.

animalPolicyAnimalPolicy

Object describing the owner's policy regarding visitors bringing animals with them.

appointmentPoliciesAppointmentPolicy[]

Describes how you can get an appointment for this place, or if you need one.

availableEquipmentundefined | EquipmentProperties[]

Information about the place's equipment.

Use this property for equipment that does not need to be locatable in a specific geolocation, but belongs to a place.

desksundefined | Desk[]

Describes the accessibility of desks in the place. null indicates there are no desks, undefined or missing property indicates unknown.

entrancesundefined | Entrance[]

Describes the accessibility of entrances to the place.

hasAirConditioningboolean

Determines if there is air conditioning installed and actively used.

hasBrailleSignageboolean

true if there is braille navigation for/to this place, false if not.

hasInductionLoopboolean

true if the venue has induction loops installed in its functional units where this is relevant.

hasLowStimulusEnvironmentboolean

true if the venue has a designated low-stimulus room or environment, false if not. Can help with hypersensitivity to sensory input.

hasPatientLifterboolean

true if the venue has a patient lifter (MedTech) installed, false if not..

hasSoundAbsorptionboolean

Determines if there is sound absorption installed.

hasTactileGuideStripsboolean

true if the venue has tactile guide strips on the floor or at the walls, false if not. undefined or missing property indicates unknown.

hasTactileSignageboolean

true if there is tactile navigation for/to this place, false if not.

interactions Object with one or more of these keys:

arrive book buy change checkIn checkOut eat explore getFood getService getTreatment listen pay play read rent roam see sell use useLockers useService visit watch watchMovies watchPlays workHere

Values must be of type InteractionMode.

An object that indicates how the object can be interacted with.

The keys of this object are the interaction types, and the values are InteractionMode objects.

isQuietboolean

Determines if the venue is quiet (subjectively, by the assessor). If possible, use the ambientNoiseLevel property instead.

isWellLitboolean

Determines if the venue is well lit (subjectively, by the assessor). Will be replaced by a measurable lumen value in the future.

mediaundefined | Media[]

Information about media. null indicates there is no media, undefined or missing property indicates unknown.

offersActivitiesForPeopleWithPersonalProfile
offersTreatmentWithoutLeavingWheelchairboolean

true for healthcare providers that offer that wheelchair users do not have to leave their wheelchair for treatment, false if this is not possible.

parkingundefined | Parking

Information about parking facilities at/around the venue. null indicates there is no parking, undefined or missing property indicates unknown.

partiallyAccessibleWithPersonalProfile
pathwaysundefined | Pathways

Describes the accessibility of pathways to the place or inside the place’s boundaries (mixed)

pathwaysFromEntranceundefined | Pathways

For places inside other places (e.g. a room inside a building).

Describes the accessibility of pathways to the place. If an extra accessible entrance exists, describe pathways from there to this place.

pathwaysInsideundefined | Pathways

Describes the accessibility of pathways to the place or inside the place’s boundaries (mixed)

paymentundefined | Payment

Information about payment at the place. null indicates there is no payment possible/required, undefined or missing property indicates unknown.

queueSystemundefined | QueueSystem

Information about the place's queue system.

restroomsundefined | Restroom[]

Describes the accessibility of restrooms that belong to the place.

roomsundefined | Room[]

Describes the accessibility of rooms that belong to the place.

serviceContactLocalizedString
signageSystemsSignage[]

Describes local signage systems. If multiple different systems are used, describe them all.

smokingPolicyOne of the following strings:

allowedEverywhere dedicatedToSmoking inIsolatedArea inSeparateArea onlyOutside prohibited

Object describing the owner's smoking policy.

staffundefined | Staff

Information about the service staff. null indicates there is no staff, undefined or missing property indicates unknown.

surfaceundefined | Surface

Object describing the place's ground condition. If there are very different ground conditions, you can create multiple places and nest them.

tablesundefined | Desk[]

Information about tables (for example in a restaurant). null indicates there are no tables, undefined or missing property indicates unknown.

wheelchairAccessibilityGradeOne of the following strings:

fully not partially

Describes the general wheelchair accessibility of the place. This is a human-rated value.

wheelchairPlacesundefined | WheelchairPlaces

Information about wheelchair places. null indicates there are no places, undefined or missing property indicates unknown.

wifiWifiAccessibility

Describes the Wifi availability and accessibility at the place.

ActionMode

Describes necessary abilities and modes inputting information.

NameType
accessArray of one or more of these strings:

customers delivery designated disabled emergency employees no permissive permit private public residents yes

Who has access to this action?

activationForceForce

Force needed for the described input method.

activationTimeIntervalTimeInterval

Time interval needed for activation/engagement.

apiDocumentationUrlLocalizedString

The input API documentation URL.

attentionSpanTimeInterval

Attention time needed for activation/engagement.

bodyHeightLength

A supported body height.

bodyMassMass

A supported body weight.

brailleKeyboardboolean

The ability to write textual content with a braille keyboard is supported or needed.

brailleTextboolean

The ability to read braille is supported or needed.

burnHazardboolean

There is a burn hazard.

cableboolean

A cable is supported or needed.

capacitiveboolean

The action uses a capacity sensor, for example a touch sensor.

clapboolean

Clapping your hands is supported or needed.

clickboolean

The ability to click a button with a finger is supported or needed.

descriptionLocalizedString

Describes the output as human-readable text.

directionOne of the following strings:

backward clockwise counterclockwise down forward left right up

The direction of the action, relative to the body.

directionAxisOne of the following strings:

axial coronal sagittal

The direction axis of the action, relative to the body.

doubleClickboolean

The ability to click a button with a finger is supported or needed.

dragboolean

The ability to drag an object is supported or needed.

dragAndDropGestureboolean

The ability to do a virtual drag-and-drop finger/mouse gesture is supported or needed.

educationLevelNumber

Education level needed to understand the action.

http://www.ibe.unesco.org/en/glossary-curriculum-terminology/l/levels-education

  • early childhood education (level 0)
  • primary education (level 1)
  • lower secondary education (level 2)
  • upper secondary education (level 3)
  • postsecondary non-tertiary education (level 4)
  • short-cycle tertiary education (level 5)
  • bachelor’s or equivalent level (level 6)
  • master’s or equivalent level (level 7)
  • doctor or equivalent level (level 8).
eyeTrackerboolean

The ability to use an eye tracker is supported or needed.

faceRecognitionboolean

The input uses face recognition.

feedbackPerceptionMode

How is feedback given for an input?

fingerprintScanboolean

The input uses a fingerprint scanner.

handwritingboolean

The ability to write textual content by hand is supported or needed.

hapticboolean

Haptic input is supported or needed.

headPointerboolean

The ability to use a head pointer is supported or needed.

headphoneboolean

Headphones are supported or needed.

highContrastboolean

The input has high contrast elements, for example around buttons.

instructionsUrlLocalizedString

URL describing how to use the input mechanism.

irisScanboolean

The input uses an iris scanner.

isEasyToFindboolean

true if the item is easy to find, false if people might face difficulties trying to find the item, or undefined if this is unknown or irrelevant.

isEasyToUnderstandboolean

true if the input is easy to understand, false if people might face difficulties trying to understand how the input works, or undefined if this is unknown or irrelevant.

joystickboolean

The ability to use a joystick is supported or needed.

keyboardboolean

The ability to write textual content by typing on a keyboard is supported or needed.

keypadboolean

The ability to write numbers by typing on a keypad is supported or needed.

knobboolean

The action uses a knob.

knurledboolean

The input has a knurled surface, for example around buttons.

languagesstring[]

Input languages supported.

leftHandedboolean

You can or must give input with your left hand.

lickboolean

The ability to lick an object with your tongue is supported or needed (e.g. a lollipop)

morseCodeboolean

Morse code input is supported or needed.

mouseboolean

The ability to use a mouse is supported or needed.

moveboolean

The ability to move an object is supported or needed.

nameLocalizedString

Describes which output is meant. Helpful if there are multiple outputs.

necessaryClimbHeightLength

Height you need to be able to climb over (for obstacles)

necessaryEyeHeightLength

How tall do you have to be to perceive the content/output/signal.

necessaryGripHeightLength

The height you need to grip to perceive the content/output/signal.

optionalboolean

true if the action is optional, false if it is required.

paperboolean

Handling paper is supported or needed.

pedalboolean

The ability to use a pedal is supported or needed.

photoboolean

The input makes a photo.

pinchboolean

The ability to pinch an object is supported or needed.

pinchFingerGestureboolean

The ability to use a pinch finger gesture is supported or needed.

pressboolean

The ability to apply force to an object is supported or needed.

pullSwitchboolean

The ability to use a pull switch is supported or needed.

pullstringboolean

The ability to use a pullstring is supported or needed.

pushButtonboolean

The ability to use a push button is supported or needed.

pushSwitchboolean

The ability to use a push switch is supported or needed.

qrCodeboolean

A QR code is supported or needed.

raisedTextboolean

true if the controls or signs have raised letters, false if not.

requiredboolean

false if the action is optional, true if it is required.

rhythmboolean

The ability to use rhythm input is supported or needed.

rightHandedboolean

You can or must give input with your right hand.

rotateboolean

The ability to rotate an object is supported or needed.

rotateTwoFingersGestureboolean

The ability to use a two-finger rotation gesture is supported or needed.

scratchboolean

The ability to scratch is supported or needed.

screenboolean

A screen is supported or needed.

signLanguageboolean

The ability to use sign language is supported or needed.

singleHandedboolean

You can or must give input with one hand.

sipAndPuffboolean

The ability to use a sip and puff switch is supported or needed.

smellboolean

The ability to smell is supported or needed.

soundRecordingboolean

The input makes a sound recording.

speakboolean

The ability to speak is supported or needed.

squeezeboolean

The ability to squeeze an object is supported or needed.

stateCountnumber

State count for a button or switch, for example 2 for a toggle button, 3 for a 3-way button.

swipeFingerGestureboolean

The ability to use a swipe finger gesture is supported or needed.

swipeThreeFingersGestureboolean

The ability to use a three-finger swipe gesture is supported or needed.

swipeTwoFingersGestureboolean

The ability to use a three-finger swipe gesture is supported or needed.

tactileboolean

Tactile input is supported or needed.

tactileGuidesboolean

The input has tactile guides, for example around buttons.

tapboolean

The ability to tap an element with a finger is supported or needed.

tearApartboolean

The ability to tear something apart is supported or needed.

techSufficientTechCombination[]

Technology combinations that are sufficient to make use of the output.

techSupportedTechCombination[]

Technologies that are sufficient to make use of the output.

tiltboolean

The ability to tilt an object is supported or needed.

tongueboolean

The ability to move an object with your tongue is supported or needed.

touchboolean

Touch input is supported or needed.

touchscreenboolean

Touchscreen input is supported or needed.

trackballboolean

The ability to use a trackball is supported or needed.

tripleClickboolean

The ability to click a button with a finger is supported or needed.

turnboolean

The ability to turn an object is supported or needed.

turnKnobboolean

The ability to turn a knob is supported or needed.

twoHandedboolean

You can or must give input with both hands.

urlLocalizedString

URL where you can use the input mechanism, e.g. on your phone.

videoboolean

The input makes a video.

visualRecognitionboolean

true if the input user interface needs or supports visual input, false if not.

voiceActivationboolean

true if the control is activated by voice, false if not.

walkboolean

Walking is supported or needed.

waveboolean

Waving your hands is supported or needed.

weightMass

A weight you need to be able to lift.

wheelboolean

The input features a wheel.

wirelessboolean

The input is wireless.

AnimalPolicy

NameType
allowsAssistanceDogsboolean

true if the place allows visitors to bring assistance dogs, false if bringing them is explicitly prohibited, undefined if the policy is unknown.

allowsDogsboolean

true if the place allows visitors to bring dogs in general, false if bringing them is explicitly prohibited (with exception of dogs specified by allowsGuideDogs and allowsTherapyAnimals), undefined if the policy is unknown.

allowsGuideDogsboolean

true if the place allows visitors to bring guide dogs, false if bringing them is explicitly prohibited, undefined if the policy is unknown.

allowsServiceAnimalsboolean

true if the place allows bringing any kind of animal, false or undefined if not or if there are exceptions.

dogsNeedMuzzleboolean

true if the place denies entry to visitors bringing a dogs without muzzles, false if dogs without muzzles are explicitly allowed.

suppliesWaterForPetsboolean

true if the place supplies water for accompanying animals, false if explicitly not, or undefined if unknown.

AppointmentPolicy

NameType
accessArray of one or more of these strings:

customers delivery designated disabled emergency employees no permissive permit private public residents yes

Who can make this kind of appointment.

allowsWalkInboolean

true if you need no appointment to visit the place.

bookingURLstring

The URL to a page where the appointment can be booked.

descriptionLocalizedString

Describes this policy as text string, e.g. ‘home visits possible if you are over 60’. Use the other fields only if the described place has only one typical policy (like at a hairdresser).

equipmentPropertiesEquipmentProperties

If the appointment needs a specific equipment, it is described here.

feesCurrencyValue[]

The amount of money that is charged for the appointment.

homeVisitboolean

true if the appointment can be at the person’s home.

inPersonOnSiteboolean

true if the appointment can be made in person.

interactions Object with one or more of these keys:

arrive book buy change checkIn checkOut eat explore getFood getService getTreatment listen pay play read rent roam see sell use useLockers useService visit watch watchMovies watchPlays workHere

Values must be of type InteractionMode.

An object that indicates how the object can be interacted with.

The keys of this object are the interaction types, and the values are InteractionMode objects.

languagesstring[]

The languages that are spoken by the person who is responsible for the appointment.

limitationsDescriptionLocalizedString

Describes limitations that apply to this policy, e.g. ‘only for people with a disability’.

needsAppointmentForAssistantboolean

true if appointments with an assistant are possible, but need to be booked separately.

openingHoursstring

Opening hours in the format described at https://wiki.openstreetmap.org/wiki/Key:opening_hours.

paymentTypesPayment[]

The payment method that is used to pay the amount of money. Use fees instead, if possible.

phoneCallboolean

true if the appointment can be made by video call.

seatSeat

If a seat is associated with this appointment, it is described here.

seatCountnumber

How many seats are available for this appointment.

videoCallboolean

true if the appointment can be made by video call.

CurrencyValue

Describes an amount of paid money in a specific currency, per specified unit, for a specific kind of access to a service or product.

Can represent free availability, by setting amount to 0, and not defining currency.

Don't use this for very small amounts of money (like sub-cent dollar amounts) as this uses no BigDecimal arithmetic.

The amount property is required.

NameType
accessArray of one or more of these strings:

customers delivery designated disabled emergency employees no permissive permit private public residents yes

For whom is this amount of money paid?

amount*number

The amount of money.

currencystring

The currency in which the amount is specified, as three-letter acronym.

Can be undefined if the amount is zero.

paymentTypesPayment[]

The payment method that is used to pay the amount of money.

perQuantity

Unit that is paid with the amount of money, e.g. "30 minutes", "1 hour", '1 GB', '3 pieces'

Desk

Describes a desk / table / cash desk / reception counter.

NameType
depthBelowLength

How much space is there under the desk? This can be used to determine if a wheelchair user can sit at the desk.

fixedHeightLength

How high is the desk? For variable-height desks, use minimalHeight and maximalHeight instead.

This can be used to determine if a wheelchair user can sit at the desk.

fixedHeightBelowLength

How much space is there below the desk? This can be used to determine if a wheelchair user can sit at the desk.

interactions Object with one or more of these keys:

changeHeight checkIn checkOut close enqueue getFood getReturn getShoppingBag handover handoverLuggage lock open openAndClose pay ringBell savePreset scan selfCheckout unlock unlockAndLock

Values must be of type InteractionMode.

An object that indicates how the object can be interacted with.

The keys of this object are the interaction types, and the values are InteractionMode objects.

intercomundefined | Intercom

Information about an intercom at this desk, if applicable.

null indicates there is no intercom.

isRollUnderboolean

true if the desk can be rolled under, false if not. This can be used to determine if a wheelchair user can sit at the desk.

maximalHeightLength

How high is the desk maximally? This is only for variable-height desks. Use fixedHeight for fixed-height desks. This can be used to determine if a wheelchair user can sit at the desk.

minimalHeightLength

How high is the desk minimally? This is only for variable-height desks. Use fixedHeight for fixed-height desks. This can be used to determine if a wheelchair user can sit at the desk.

nameLocalizedString

Name of the entrance (helpful if there are multiple entrances).

paymentundefined | Payment

Information about payment at this desk.

null indicates there is no payment possible/required.

queueSystemQueueSystem

Describes an associated queue system.

turningSpaceInFrontLength

How much space is there in front of the desk? This can be used to determine if a wheelchair user can sit at the desk.

widthBelowLength

How much space is there below the desk? This can be used to determine if a wheelchair user can sit at the desk.

Door

Describes the door of a place's entrance or to one of its facilities (e.g. to a shower, or to an elevator)

NameType
accessArray of one or more of these strings:

customers delivery designated disabled emergency employees no permissive permit private public residents yes

Defines who this door is for. See https://wiki.openstreetmap.org/wiki/Key:access for more information.

colorsstring[]

Describes the colors of the door itself, as HTML color strings. Don't include the door frame or door marking colors in this attribute, but use markingColors and doorFrameColors instead.

This can make the door easier to find.

If there are multiple colors, it might be enough to describe the most dominant one.

If there are multiple colors, but there is no predominant color, describe all of them.

This allows to determine the contrast to the wall and the door frame.

Its best to determine the color at daylight.

For glass doors, you can use 'transparent' as color.

doorFrameColorsstring[]

Describes the colors of the door frame, if existent. If they are similar, describe only one color. Use HTML color strings here.

This can make the door easier to find, and allows to determine the contrast to the door and the wall.

If there are multiple colors, it might be enough to describe the most dominant one.

If there are multiple colors, but there is no predominant color, describe all of them.

Its best to determine the color at daylight.

doorOpensToOutsideboolean

true if the door opens to the outside, false if it opens to the inside.

doorbellTopButtonHeightLength

Height of the door bell's top button. If there is a lowered extra door bell (often marked with a wheelchair user symbol), use the height of this one's top button.

grabBarsGrabBars

Describes grab bars in front of the door.

hasClearMarkingOnGlassDoorboolean

true if the door is a glass door, but is marked, false if the door is an unmarked glass door, undefined if it is no glass door or the condition is unknown.

hasErgonomicDoorHandleboolean

true if the door's handle is easy to use (subjectively by the assessor), false if not.

hasIntercomboolean

true if the door has an intercom system, false if not.

hasProximitySensorboolean

true if the door has a proximity sensor that triggers the opening mechanism, false if not.

hasSwitchboolean

true if the door has a switch that triggers the opening mechanism, false if not.

hasVisuallyContrastedFrameboolean

true if the door frame is visually contrasted to its surrounding wall, false if not.

interactions Object with one or more of these keys:

close lock open openAndClose ringDoorbell unlock unlockAndLock

Values must be of type InteractionMode.

An object that indicates how the object can be interacted with.

The keys of this object are the interaction types, and the values are InteractionMode objects.

intercomIntercom

Describes the intercom system of the door.

isAlwaysOpenboolean

true if the door is there, but always open, false if not.

isAutomaticboolean

true if the door opens automatically, false if not. The mechanism for opening the door is defined in other attributes.

isAutomaticOrAlwaysOpenboolean

true if the door is always open or automatic, false if it has to be opened manually.

isEasyToHoldOpenboolean

true if the door is easy to hold open (subjectively by the assessor), false if not.

isGlassDoorboolean

true if the door is a glass door, false if not.

isRevolvingboolean

true if the door is revolving (like a carousel), false if not.

isSlidingboolean

true if the door is a sliding door, false if not.

isTurnstileboolean

true if the door is a turnstile, false if not.

isVisuallyContrastedboolean

true if the door is visually contrasted to its surrounding wall, false if not.

markingColorsstring[]

Describes the colors of a door marking, if existent, as HTML color strings.

This can make the door easier to find.

If there are multiple colors, it might be enough to describe the most dominant one.

If there are multiple colors, but there is no predominant color, describe all of them.

Its best to determine the color at daylight.

nearbyWallColorsstring[]

Describes the colors of the walls right next the door. Use HTML color strings here.

This can make the door easier to find, and allows to determine the contrast to the door frame and the door.

  • If there are multiple colors, it might be enough to describe the most dominant one.
  • If there are multiple colors, but there is no predominant color, describe all of them.

Its best to determine the color at daylight.

needsDoorbellboolean

true if you need to ring a doorbell to pass the entrance, false if not.

needsEuroKeyboolean

true if you need a Euro key to open the door, false if it's in Europe outside UK and works without a key, undefined if it is unknown or needs a different key.

needsIntercomboolean

true if you need to use the intercom to pass this door, false if not.

needsKeyCardboolean

true if you need to use a keycard to pass the entrance, false if not.

needsKeyPadboolean

true if you need to use a key pad to pass this door, false if not.

needsRadarKeyboolean

true if you need a RADAR key to open the door, false if it's in the UK but you need no key or needs a different key.

needsSwitchToOpenboolean

true if the door needs pressing a switch to open, false if not.

thresholdHeightLength

Height of the door’s threshold / sill / step inside the door frame.

thresholdIsRoundedboolean

true if the threshold has rounded edges, false if not.

turningSpaceInFrontLength

Turning space in front of the door.

widthLength

Width of the door.

Entrance

Describes an entrance to a PlaceInfo.

NameType
geometryPointGeometry

The physical location of the entrance in WGS84 coordinates. Currently only a GeoJSON PointGeometry is supported.

propertiesEntranceProperties

EntranceProperties

Describes an entrance to a place.

NameType
doorundefined | Door

Object that describes the entrance’s door. null if there is no door.

elevatorEquipmentIdstring

reference to the equipment id if this entrance is an elevator (on accessibility.cloud)

hasFixedRampboolean

true if this entrance has a fixed ramp, false if not.

hasHoistboolean

true if there is a hoist / wheelchair lift, false if not.

hasRemovableRampboolean

true if there is a removable ramp, false if not. If there is a fixed ramp, this property MUST be undefined.

hasSignageboolean

If this entrance is NOT the main entrance: Is this entrance connected to the main entrance, and is there signage that points to this entrance?

intercomEquipmentIdstring

reference to the equipment id of the intercom of this entrance (on accessibility.cloud)

isLevelboolean

true if this entrance has no steps and needs no ramp, false if there are steps or a ramp.

isMainEntranceboolean

true if this is the main entrance, false if not.

nameLocalizedString

Name of the entrance (helpful if there are multiple entrances).

needsAppointmentboolean

true if you need an appointment to enter, false if not.

placeInfoIdstring

reference to the place that this entrance is connected to (on accessibility.cloud)

slopeAngleSlope

How steep is the ground at the entrance?

stairsStairs

Object that describes stairs that you have to take to use the entrance.

EquipmentInfo

Describes a facility equipment that is part of a place, like an elevator, an escalator, or a sitemap. Can contain attributes that are realtime updated to indicate operational status.

NameType
geometryPointGeometry

The physical location of the place in WGS84 coordinates. Currently only a GeoJSON PointGeometry is supported.

propertiesEquipmentProperties

EquipmentProperties

NameType
accessModestring[]

Access modes supported by this equipment.

accessModeSufficientstring[]

Access mode combinations that allow understanding and using the equipment.

accessibilityControlstring[]

The accessibility controls that allow controlling this equipment.

accessibilityFeaturestring[]

Indicates features that allow understanding or using the equipment.

accessibilityHazardstring[]

Indicates hazards that may be an obstacle to understanding or using the equipment.

alternativeRouteInstructionsLocalizedString

Short alternative routing instructions for travelers when they cannot use this facility.

The text MUST NOT have abbreviations to be readable aloud by a screen reader or voice assistant.

Software using this attribute MUST NOT assume that the equipment is out of operation if it the attribute is defined.

cabinLengthLength

Length / depth of the cabin when facing the equipment’s entrance, or undefined if the equipment has no cabin. For a hoist, this refers to the hoist platform itself.

cabinWidthLength

Width of the cabin when facing the equipment’s entrance, or undefined if the equipment has no cabin. For a hoist, this refers to the hoist platform itself.

categoryOne of the following strings:

bed bodyScanner ctScanner elevator escalator flushMechanism hoist intercom luggageScanner movingWalkway mriScanner powerOutlet ramp sitemap stairLift switch ticketVendingMachine treatmentChair ultrasoundScanner vendingMachine wardrobe wheelchairLift xrayMachine

Type of the equipment or facility.

descriptionLocalizedString

Describes where the equipment is located. If only one description string is technically possible to maintain, it MUST not contain any abbreviations to allow being readable aloud by screen readers or voice assistants.

disruptionSourceImportIdstring

Data source ID of a secondary source used for realtime status info on accessibility.cloud

doorDoor

Object describing the door to the equipment, or undefined if there is no door.

emergencyIntercomIntercom

Describes the intercom system for emergency calls.

hasAdjustableHeightboolean

true if the equipment's height is adjustable, false if not.

hasDoorsAtRightAnglesboolean

true if the equipment has doors at right angles to each other.

hasDoorsInBothDirectionsboolean

true if the equipment has doors in two directions, so wheelchair, rollator, bike or pushchair users do not have to move backwards to exit.

hasExternalFloorSelectionboolean

For elevators. true if the elevator needs a command to be entered outside the elevator, false if not.

hasLandingsboolean

true if the equipment has a landing platform, false if not. Helpful for escalators.

hasMirrorboolean

For elevators. true if the elevator has a mirror, false if not.

hasVisualEmergencyAlarmboolean

true if the equipment has a visual emergency alarm, false if not (for example, inside elevators).

heightOfControlsLength

Height of the lowest working controls that are needed to operate this equipment. undefined if the equipment needs no controls.

ids Object with one or more of these keys:

string

Values must be of type string.

IDs in other data sources that are linked to this equipment, indexed by schema/context.

interactions Object with one or more of these keys:

arriveAtFloor buy call callEmergency disable enable engage findYourDestination flush getTreatment handover locateYourself ride scan selectFloor sell sleep toggle travel understand use

Values must be of type InteractionMode.

An object that indicates how the object can be interacted with.

The keys of this object are the interaction types, and the values are InteractionMode objects.

isAccessibleWithWheelchairboolean

true if the equipment is fully operatable for/by a person in a wheelchair, false if not. If you can, please don't use this attribute. Instead, use more specific attributes.

isIndoorsboolean

true if the equipment is indoors, false if it’s fully or partially outdoors.

isSuitableForBicyclesboolean

For elevators. true if the elevator can carry a bicycle, false if not.

isWorkingboolean

Live status update.

true if the equipment is in operation, false if not, or undefined if it is unknown. When reading this attribute for showing it in a user interface, the user interface MUST show the operational status as ‘unknown’ if the status could be out of date, for example if it is older than 10 minutes.

When displaying the operational status, user interfaces SHOULD show the date saved in stateLastUpdate next to the operational status additionally for transparency.

languagesstring[]

Languages of the equipment’s visible controls and/or voice output.

longDescriptionLocalizedString

Contains the same information as description, but in a longer form which can be read out by a screen reader or voice assistant.

Words MUST be written out fully (e.g. ‘direction’ instead of ‘dir.‘, ‘ground’ instead of ‘G‘, ‘platform’ instead of ‘pl.’). The field MUST NOT contain any symbols (e.g. ->, <->, or ).

This MUST be suitable for people who have a visual impairment or use a screen reader or voice assistant (e.g. Amazon’s Alexa).

If only one description field can be used for technical reasons, then the written-out form MUST be given preference, because a short form can be generated from the long form more easily than the other way around.

This attribute SHOULD be used as aria-label-attribute in web content.

manufacturerNameLocalizedString

Official name of the company that manufactured the equipment.

manufacturerSerialNumberstring

Manufacturer serial number of the equipment / facility.

Intentionally not localizable to allow matching with other data, e.g. from manufacturer's own APIs.

originalDatastring

Original source data for this equipment (for easier debugging)

originalIdstring

ID of this equipment in the original data source. To simplify communication with the operator, it’s a good idea to use the operator facility management system ID here.

originalPlaceInfoIdstring

ID of the place that this equipment belongs to (unique in the original data source)

outOfOrderReasonLocalizedString

Live status update.

Reason why the equipment is not in operation. MUST be undefined if the equipment is in operation.

placeInfoIdstring

Place info ID that this equipment belongs to (accessibility.cloud ID)

placeSourceIdstring

ID of the place data source that this equipment belongs to (accessibility.cloud ID)

plannedCompletionDateDate

Live status update.

If isWorking is false, this is the planned date when the equipment will be in operation again.

MUST be undefined if the facility is currently in operation.

sameAsstring[]

URLs of this equipment in external data sources, for example in GTFS, IMDF or other sources.

seatSeat

Object describing the seat of the equipment, or undefined if there is no seat.

servicePhoneNumberstring

Phone number where a service operator can be reached for help using this facility.

serviceWebsiteUrlstring

URL pointing to a website that describes the equipnent or it's current operational status.

shortDescriptionLocalizedString

Contains the same information as description, but in a shorter form, to save space on the screen. This CAN contain Unicode characters such as ⟷ or ↘︎ as well as abbreviations (e.g. ‘pl.’ instead of ‘platform’, ‘dir.’ instead of ‘direction’).

sourceIdstring

Data source ID on accessibility.cloud

sourceImportIdstring

Data import ID on accessibility.cloud

stateExplanationLocalizedString

Live status update.

Information about the current state. If isWorking is true, this can show information about future planned maintenance or construction work rendering this facility unusable.

The text MUST NOT have abbreviations to be readable aloud by a screen reader or voice assistant.

This field SHOULD only be used if a separation into individual disorder attributes (state, outOfOrderReason) is not technically possible (e.g. when existing APIs can not be further developed and users are only given one text field to describe the problem.)

stateLastUpdateDate

Live status update.

Date when the isWorking flag was updated by a realtime system.

GrabBars

Describes grab bars or hand rails.

The continuous property is required.

NameType
continuous*boolean

Indicates if the grab bars are continuous or not. Helpful for stair grab rails.

distanceBetweenBarsLength

Indicates how far the bars are apart.

foldableboolean

true if the grab bars can be folded, false if not..

inFrontOfTheUserboolean

true if there is a folding handle in front of the user, false if not.

Seen from the perspective

  • of somebody using a toilet
  • of somebody in front of stairs, facing upwards
  • of somebody in front of a door
interactions Object with one or more of these keys:

adjust findYourDestination foldDown foldUp localizeYourself

Values must be of type InteractionMode.

An object that indicates how the object can be interacted with.

The keys of this object are the interaction types, and the values are InteractionMode objects.

onUsersLeftSideboolean

true if there is a folding handle on left side, false if not.

Seen from the perspective

  • of somebody using a toilet
  • of somebody in front of stairs, facing upwards
  • of somebody in front of a door
onUsersRightSideboolean

true if there is a folding handle on right side, false if not.

Seen from the perspective

  • of somebody using a toilet
  • of somebody in front of stairs, facing upwards
  • of somebody in front of a door
topHeightFromFloorLength

Indicates how high the grab bars are (top edge, measured from the floor).

Interactable

NameType
interactions Object with one or more of these keys:

InteractionType

Values must be of type InteractionMode.

An object that indicates how the object can be interacted with.

The keys of this object are the interaction types, and the values are InteractionMode objects.

InteractionMode

Describes how you can interact with a thing and which abilities you need to do so.

NameType
actionActionMode

Action modes that are absolutely necessary to facilitate the interaction, e.g. ‘pushing a button’.

descriptionLocalizedString

Describes the output as human-readable text.

languagesstring[]

Input languages supported.

nameLocalizedString

Describes which output is meant. Helpful if there are multiple outputs.

optionalboolean

true if the interaction is optional, false if it is required.

perceptionPerceptionMode

Perception modes supported to facilitate the interaction.

requiredboolean

false if the interaction is optional, true if it is required.

Intercom

Describes a system to communicate over distance, e.g. a door intercom next to a doorbell.

NameType
ambientNoiseLevelVolume

The ambient noise level when using the intercom.

audioIsComprehensibleboolean

true if intercom system’s audio quality is good enough for understanding speech, false if not.

descriptionLocalizedString
hasAudioboolean

true if the door has an audio intercom system, false if not.

hasVideoCameraboolean

true if the door has a video intercom system, false if not.

hasVisualFeedbackOnConnectionboolean

true if the intercom system has a visual feedback, false if not. Visual feedback might be a screen or light that displays if a connection is established.

interactions Object with one or more of these keys:

call close hangUp identify open ring

Values must be of type InteractionMode.

An object that indicates how the object can be interacted with.

The keys of this object are the interaction types, and the values are InteractionMode objects.

necessaryGripHeightLength

The height of the top control element of the intercom system.

needsKeyPadboolean

true if you need to use a key pad to pass this door, false if not.

Media

Describes a media unit provided at this place, for example an exhibit at a museum or a movie in a cinema.

NameType
accessModestring[]

Access modes supported by this equipment.

accessModeSufficientstring[]

Access mode combinations that allow understanding and using the equipment.

accessibilityControlstring[]

The accessibility controls that allow controlling this equipment.

accessibilityFeaturestring[]

Indicates the access mode combinations that allow understanding and using the equipment.

accessibilityHazardstring[]

Indicates the access mode combinations that allow understanding and using the equipment.

hasAudioDescriptionboolean

Is the media unit provided with audio description?

hasContrastingBackgroundboolean

If the media unit is printed or on a screen, does it have high contrast between background and foreground?

hasDedicatedScreenForSubtitlesboolean

Relevant for movies, screens and presentations: Is there a dedicated screen where subtitles can be read?

hasPlainLanguageOptionboolean

Is the media unit provided in a Plain Language option?

hasRealTimeCaptioningboolean

Does the media unit have real time captioning?

hasSubtitlesboolean

Is the media unit provided with subtitles?

interactions Object with one or more of these keys:

browse close discover feel interact listen open read recognize rent watch

Values must be of type InteractionMode.

An object that indicates how the object can be interacted with.

The keys of this object are the interaction types, and the values are InteractionMode objects.

isAudioboolean

Is the media unit consumable as audio-only option?

isBrailleboolean

Is the media unit consumable or described for Braille readers?

isLargePrintboolean

If the media unit is printed, is the print large?

isTactileboolean

Is the media tactile?

languagesstring[]

Specifies which languages (including sign languages) in which the media unit is provided

nameLocalizedString

Name of the media unit (relevant if there are multiple units of the same kind)

sameAsstring[]

URLs that contain the media. Use this to link data, for example with RDF.

turningSpaceInFrontLength

If the media is consumed while the consumer is directly in front of it, this property specifies how much turning space there is in front of it.

typeOne of the following strings:

document exhibit form guide menu movie play presentation screen tour website

Type of the media unit

Mirror

Describes a mirror.

heightFromGround and isAccessibleWhileSeated properties are required.

NameType
heightFromGround*Length

How far is the mirror's bottom from the ground?

interactions Object with one or more of these keys:

adjust clean move turn use

Values must be of type InteractionMode.

An object that indicates how the object can be interacted with.

The keys of this object are the interaction types, and the values are InteractionMode objects.

isAccessibleWhileSeated*boolean

true if the mirror is accessible while sitting in a wheelchair, false if not.

isLocatedInsideRestroomboolean

true if the mirror is located inside the restroom, false if not.

Parking

NameType
countnumber
forWheelchairUsersundefined | WheelchairParking
interactions Object with one or more of these keys:

arrive enterVehicle exitVehicle park

Values must be of type InteractionMode.

An object that indicates how the object can be interacted with.

The keys of this object are the interaction types, and the values are InteractionMode objects.

Pathways

Describes one or multiple pathways inside a place.

NameType
isKerbstoneFreeboolean

true if the pathway is kerbstone-free, false if not.

surfaceSurface
widthLength

Width constraints of all pathways inside a place relevant for consumers.

widthAtObstaclesLength

Width constraints of all pathways inside a place relevant for consumers.

Payment

The Payment interface describes the payment options at a location.

NameType
acceptsBillsboolean
acceptsCoinsboolean
acceptsCreditCardsboolean
acceptsDebitCardsboolean
acceptsPaymentByMobilePhoneboolean
customPaymentMetaInfoLocalizedString[]
hasPortablePaymentSystemboolean

PerceptionMode

Describes necessary abilities and modes for interpreting information output, signals, or content.

NameType
accelerationAcceleration

Feedback force applied to the user.

activationSignalboolean

The output is an activation/engagement signal.

ambientNoiseLevelVolume

Ambient noise level in dB(A) relative to a reference pressure of 0.00002 Pa. Median over a 10-second period at least.

ambientTemperatureTemperature

The ambient temperature around the output.

animationboolean

The output is animated.

apiDocumentationUrlstring

The input API documentation URL.

attentionSpanTimeInterval

Attention time span needed to understand the output.

audibleClickboolean

The output has an acoustic click feedback.

audioDescriptionboolean

The output has audio description.

audioIsComprehensibleboolean

true if the system’s audio quality is good enough for understanding speech, false if it is difficult.

backgroundColorsstring[]

Background output HTML colors (for example, the background behind a text or icon).

backgroundMusicboolean

There is background music playing.

beepboolean

The output uses one or more beeps as signal.

bingboolean

The output uses one or more bing-like signals.

blackAndWhiteboolean

The output uses black and white colors.

brailleboolean

The ability to read braille is supported or needed.

breathingboolean

The light looks like it is breathing.

brightnessBrightness

The output's brightness.

byodboolean

true if you can or have to perceive the content with a device that you own.

cableboolean

A cable is supported or needed.

chartboolean

The output uses one or more charts.

colorCodeboolean

The output uses a discrete color code.

colorGradientboolean

The output uses a color gradient.

contentWarningLocalizedString

Lists potential content warnings you have to expect here. User interfaces should not show the content warning directly, but should instead show a button to show the content warning.

dedicatedScreenForSubtitlesboolean

The output has a dedicated screen for subtitles.

descriptionLocalizedString

Describes the content/output/signal as human-readable text.

durationTimeInterval

Time interval in which the output is active.

educationLevelNumber

Education level needed to understand the output.

http://www.ibe.unesco.org/en/glossary-curriculum-terminology/l/levels-education

  • early childhood education (level 0)
  • primary education (level 1)
  • lower secondary education (level 2)
  • upper secondary education (level 3)
  • postsecondary non-tertiary education (level 4)
  • short-cycle tertiary education (level 5)
  • bachelor’s or equivalent level (level 6)
  • master’s or equivalent level (level 7)
  • doctor or equivalent level (level 8).
flashboolean

The output is a flashing light.

flashingHazardboolean

true if the output is a flashing hazard, false if there is explicitly no flashing hazard and someone / something ensures this. This can be relevant for people with epilepsy.

fontSizeLength

Font size used in the output.

forceForce

Feedback force applied to the user.

forceFeedbackboolean

The content/output/signal has active force feedback.

foregroundColorsstring[]

Foreground output HTML colors (for example, the text or icon color).

framerateHertz

The framerate of animations.

frequencyHertz

The frequency of the output, for tones or flashes.

fullBodyboolean

The content/output/signal affects your full body.

handwrittenboolean

The content is handwritten.

hapticboolean

The output is haptic.

hapticClickboolean

The output has a haptic click feedback.

headphoneboolean

Headphones are supported or needed.

heatboolean

Heat perception is supported or needed.

highContrastboolean

The output is displayed in high contrast.

instructionsUrlLocalizedString

URL describing how to make use of the content/output/signal.

isEasyToFindboolean

true if the input is easy to find.

isEasyToUnderstandboolean

true if the input is easy to understand, false if people might face difficulties trying to understand how the input works, or undefined if this is unknown or irrelevant.

languagesstring[]

Content languages supported.

ledboolean

The output is an LED.

lightboolean

The output is a light.

morseboolean

The output uses morse code.

musicboolean

The output uses music.

nameLocalizedString

Describes which output is meant. Helpful if there are multiple signals/outputs/content lements.

necessaryEyeHeightLength

How tall do you have to be to perceive the content/output/signal.

necessaryGripHeightLength

The height you need to grip to perceive the content/output/signal.

needsHighConcentrationboolean

The output needs high concentration to understand.

numbersboolean

The output uses one or more numbers.

optionalboolean

true if the perception is optional, false if it is required.

paperboolean

The output is displayed on a paper.

pictogramsboolean

The output uses one or more pictograms.

pitchedToneboolean

The output uses a pitched tone as signal.

plainLanguageOptionboolean

The output has a plain language option.

printerboolean

The output is from a printer.

provisionalHearingAidboolean

The perceiving person uses a provisional hearing aid, e.g. a stethoscope, a smartphone, or a headset with a microphone that amplifies the sound or speech.

qrCodeboolean

A QR code is supported or needed.

radioboolean

A radio connection is supported or needed (e.g. WiFi, Bluetooth, NFC, etc.)

readboolean

The ability to read is supported or needed.

realTimeCaptioningboolean

The output has realtime captioning.

requiredboolean

false if the perception is required to make use of the main function of the described object, true if it is required.

rhythmicboolean

The output is rhythmic.

screenboolean

The output is displayed on a screen.

signLanguageboolean

The ability to understand sign language is supported or needed.

smellboolean

The ability to smell is supported or needed.

soundboolean

The output is acoustic.

soundVolumeVolume

The content/output/signal has active vibration feedback.

speechboolean

The ability to understand speech is supported or needed.

staticboolean

true if the output is usually static and does not change over time, false if it is dynamic and changes over time.

stethoscopeboolean

The perceiving person uses a stethoscope.

This is method for patient communication that is used by doctors to speak to patients with hearing impairments:

British doctors recommend using the stethoscope as a hearing aid for patients in such situations (BMJ 2010; 341: c4672). If the patient has the buttons in his ear and the physician speaks softly and clearly into the diaphragm as into a microphone, then sufficient communication is often possible despite hearing problems. The intimacy of the conversation can be preserved by this simple means.

Sources:

subtitlesboolean

The output has subtitles.

tactileboolean

The output is tactile.

tactileGuidesboolean

The output has tactile guides, for example around buttons.

tasteboolean

Tasting something is supported or needed.

techSufficientTechCombination[]

Technology combinations that are sufficient to make use of the content/output/signal.

techSupportedTechCombination[]

Technologies that are sufficient to make use of the content/output/signal.

temperatureTemperature

The temperature of the output.

urgencyOne of the following strings:

alarm alert debug info warning

Urgency of the content when perceived.

urlLocalizedString

URL where you can see or make use of the content/output/signal, e.g. on your phone.

vibrationboolean

The content/output/signal has active vibration feedback.

visualboolean

The output is visual.

PersonalProfile

Describes a person. This exists only to transform data from sources where no physical attributes of places have been captured as data directly. It's better to describe physical attributes of places and let people decide themselves which facilities they need or which place condition works for them.

NameType
blindnessboolean

true for a person that is blind.

guideDogboolean

true for a person that has a guide dog.

hearingImpairmentboolean

true for a person that has a hearing impairment.

learningImpairmentboolean

true for a person that has a learning impairment.

mobilityImpairmentboolean

true for a person that has a mobility impairment.

mutenessboolean

true for a person that is inable to speak.

visualImpairmentboolean

true for a person that has a visual impairment.

wheelchairboolean

true for a person that uses a wheelchair.

PlaceInfo

The PlaceInfo interface describes a physical location with added accessibility properties.

geometry and properties properties are required.

NameType
formatVersionstring

The format version this place info document was created with (Uses the npm module version from package.json) Not used right now, but added for future compatibility.

geometry*PointGeometry

The physical location of the place in WGS84 coordinates. Currently only a GeoJSON PointGeometry is supported.

properties*PlaceProperties

Holds additional place properties such as name and category and accessibility information

PlaceProperties

Properties of a place of interest.

The category property is required.

NameType
accessArray of one or more of these strings:

customers delivery designated disabled emergency employees no permissive permit private public residents yes

Defines who this restroom is for. See https://wiki.openstreetmap.org/wiki/Key:access for more information.

accessibilityundefined | Accessibility

The accessibility of this place. null indicates that this place has no data, undefined or missing property indicates unknown.

addressundefined | StructuredAddress

The address of this place. null indicates that this place has no address, undefined or missing property indicates unknown.

category*string

Category name of the place

descriptionLocalizedString

Text description containing helpful information for people with disabilities.

editPageUrlstring

URL of the original data source’s website on a subpage that allows to edit the original data.

emailAddressstring

Email address of the place's operator where you can get accessibility relevant information.

ids Object with one or more of these keys:

string

Values must be of type string.

IDs in other data sources that are linked to this equipment, indexed by schema/context.

infoPageUrlstring

URL of the original data source’s website describing this place.

nameLocalizedString

The official name of this place.

originalDataany

Original source data for this equipment (for easier debugging)

originalIdstring

ID of this place of interest in the original data source. To simplify communication with the data provider, it’s a good idea to use the provider's internal ID here.

originalParentPlaceInfoIdstring

The parent's place ID in the original dataset from the data provider.

parentPlaceInfoIdstring

ID of the parent place that this place belongs to.

parentPlaceSourceIdstring

Source ID of the parent place that this place belongs to. This is usually the same ID as sourceId, but the parent place can be from another data provider.

phoneNumberstring

Phone number to call a representant of the place's operator.

placeWebsiteUrlstring

URL of the place’s own website.

sameAsstring[]

URLs of this equipment in external data sources, for example in GTFS, IMDF or other sources.

sourceIdstring

ID of the data source that provided the place (accessibility.cloud ID)

sourceImportIdstring

ID of the import that created this place (accessibility.cloud ID)

tags Object with one or more of these keys:

string

Values must be of type string.

Tags that are not part of the schema, but are still useful for the data consumer.

  • If a OSM place is described, the tags are the OSM tags.
  • If a GTFS place is described, the tags are the GTFS fields.
  • If a IMDF place is described, the tags are the IMDF fields.
  • If a custom place is described, the tags are the custom fields.
  • If a place is described by a combination of multiple sources, the tags are the union of all fields.

PointGeometry

GeoJSON Point object.

coordinates and type properties are required.

NameType
coordinates*tuple with 2 number elements
type*"Point"

Quantity

Describes a quantity of a unit type.

NameType
accuracynumber

± in given units, uniform error.

maxnumber

maximal value (inclusive)

minnumber

minimal value (inclusive)

operatorOne of the following strings:

!= < <= = == > >= ~ ~=

the operator, indicating the value is not an absolute value

precisionnumber

± in given units, uniform error

rawValuestring

raw, imported value, eg. '90 .. 120cm' - only required when importing

unitstring

one of the length units in js-quantities

valuenumber

the value in the specified unit

QueueSystem

Describes a system that encourages or forces people to queue up.

NameType
canSkipQueueWithDisabilityboolean

true if you can skip the queue with a disability, false if not.

grabBarsGrabBars

Grab bars inside the queueing system, if applicable.

hasVisualAnnouncementsboolean

true if the queueing system announces the next person in line visually, false if not.

interactions Object with one or more of these keys:

arrive checkIn checkOut enqueue getOnesTurn getTicket leaveQueue skipQueue wait

Values must be of type InteractionMode.

An object that indicates how the object can be interacted with.

The keys of this object are the interaction types, and the values are InteractionMode objects.

needsTicketsboolean

true if the queueing uses tickets (usually numbered), false if not.

numberOfQueueServerPointsnumber

Number of queue server points.

numberOfSeatsnumber

Number of seats that can be used by people while waiting in the queue.

usesCattleBarsboolean

true if the queueing uses rails / cattle bars, false if not.

Restroom

Describes a Room that contains one or more Toilets or Showers.

NameType
accessArray of one or more of these strings:

customers delivery designated disabled emergency employees no permissive permit private public residents yes

Defines who this room is for. See https://wiki.openstreetmap.org/wiki/Key:access for more information.

addressStructuredAddress
descriptionLocalizedString
entranceEntranceProperties

Object describing the entrance to this room.

entrancesEntrance[]

Object describing the entrance to this room.

hasBathTubboolean

true if there is a bath tub in this room, false if not, undefined if condition is unknown.

hasCeilingHoistboolean

true if the restroom has a ceiling hoist, false if not.

hasChangingTableForAdultsboolean

true if the restroom has a changing table for adults, false if not.

hasChangingTableForBabiesboolean

true if the restroom has a changing table for babies, false if not.

hasEmergencyPullstringboolean

true if the restroom has an emergency pull string, false if not.

hasMirrorboolean

true if the restroom has a mirror, false if not.

hasShowerboolean

true if the restroom has a shower, false if not.

hasSupportRailsboolean

true if there support rails on the walls

heightOfDrierLength

At which height from the floor is the drier or towel?

heightOfSoapLength

At which height from the floor is the soap?

interactions Object with one or more of these keys:

callEmergency closeWindow enter exit lookAround openWindow play see sit sleep stand storeThings wait

Values must be of type InteractionMode.

An object that indicates how the object can be interacted with.

The keys of this object are the interaction types, and the values are InteractionMode objects.

isAccessibleWithWheelchairboolean

true if the room's relevant facilities are completely accessible while using a wheelchair, false if not, undefined if the condition is unknown or difficult to assess.

mirrorMirror

Describes a mirror, if existing.

sameAsstring[]
showerShower

Object describing a shower inside this restroom, if existing.

signIconsArray of one or more of these strings:

allGender baby changingTable family female male personInWheelchair toiletBowl urinal washBasin

Visible icons on the restroom’s sign

toiletToilet

Object describing a toilet inside the restroom, if existing.

turningSpaceInsideLength

How wide is the space inside that you can use for turning?

usageFeeCurrencyValue[]

Defines how much you have to pay to use this restroom. There might be multiple fee amounts, e.g. for different access types or usage times.

washBasinWashBasin

Object describing a wash basin belonging to this restroom. It can be outside of the restroom.

Room

Describes a room inside a structure.

NameType
accessArray of one or more of these strings:

customers delivery designated disabled emergency employees no permissive permit private public residents yes

Defines who this room is for. See https://wiki.openstreetmap.org/wiki/Key:access for more information.

addressStructuredAddress
descriptionLocalizedString
entranceEntranceProperties

Object describing the entrance to this room.

entrancesEntrance[]

Object describing the entrance to this room.

hasSupportRailsboolean

true if there support rails on the walls

interactions Object with one or more of these keys:

callEmergency closeWindow enter exit lookAround openWindow play see sit sleep stand storeThings wait

Values must be of type InteractionMode.

An object that indicates how the object can be interacted with.

The keys of this object are the interaction types, and the values are InteractionMode objects.

isAccessibleWithWheelchairboolean

true if the room's relevant facilities are completely accessible while using a wheelchair, false if not, undefined if the condition is unknown or difficult to assess.

sameAsstring[]
turningSpaceInsideLength

How wide is the space inside that you can use for turning?

Seat

Describes one or multiple seats / chairs / benches / stools / couches / sofas / armchairs / ...

NameType
adjustmentAxesArray of one or more of these strings:

axial coronal sagittal

The seat can be adjusted in the following axes.

adjustmentDirectionsArray of one or more of these strings:

backward clockwise counterclockwise down forward left right up

The seat can be adjusted in the following directions.

columnsnumber[]

The seat column numbers. This is only for seats in a fixed seating arrangement.

descriptionLocalizedString

Name of the entrance (helpful if there are multiple entrances).

fixedHeightLength

How high is the desk? For variable-height desks, use minimalHeight and maximalHeight instead.

This can be used to determine if a wheelchair user can sit at the desk.

hasAdjustableHeightboolean

The seat has an adjustable seating surface.

hasHeadRestboolean

The seat has a headrest.

hasRemovableArmRestsboolean

The seat has removable armrests.

hasSeatbeltboolean

The seat has a seatbelt.

interactions Object with one or more of these keys:

adjust adjustArmRests adjustBackRest adjustFootRest adjustHeadRest adjustHeight adjustLegRest adjustSeatBelt adjustSeatBeltAngle adjustSeatBeltHeight adjustSeatBeltLength adjustSeatBeltLock adjustSeatBeltPosition adjustSeatBeltTension adjustSeatingAngle adjustSeatingSurface connectSeatbelt fold move removeArmrests sit unfold

Values must be of type InteractionMode.

An object that indicates how the object can be interacted with.

The keys of this object are the interaction types, and the values are InteractionMode objects.

intercomundefined | Intercom

Information about an intercom at this seat, if applicable.

null indicates there is no intercom.

isCenterColumnboolean

The seat is located at the center of the seating arrangement, laterally.

isFixedboolean

The seat is fixed.

isFoldableboolean

The seat can be folded.

isFrontRowboolean

The seat is located at the front row of the seating arrangement.

isLastRowboolean

The seat is located at the last row of the seating arrangement.

isMobileboolean

The seat is mobile.

isWheelchairAccessibleboolean

The seat is wheelchair accessible.

maximalHeightLength

How high is the desk maximally? This is only for variable-height desks. Use fixedHeight for fixed-height desks. This can be used to determine if a wheelchair user can sit at the desk.

minimalHeightLength

How high is the desk minimally? This is only for variable-height desks. Use fixedHeight for fixed-height desks. This can be used to determine if a wheelchair user can sit at the desk.

nameLocalizedString

Name of the entrance (helpful if there are multiple entrances).

paymentundefined | Payment

Information about payment at this seat or the cost of using this seat.

null indicates there is no payment possible/required.

reservedForPersonsWithPersonalProfile

The seat is reserved for persons with the given profile.

rowsnumber[]

The seat row numbers. This is only for seats in a fixed seating arrangement.

seatbeltPointsnumber

The number of seatbelt points.

turningSpaceInFrontLength

How much space is there in front of the desk? This can be used to determine if a wheelchair user can sit at the desk.

Shower

Describes a shower.

NameType
doorDoor
grabBarsGrabBars

Ergonomic handles inside the shower.

hasShowerSeatboolean

true if the shower has a seat, false if not..

hasSupportRailsboolean

true if the shower has support rails, false if not.

interactions Object with one or more of these keys:

transfer useConditioner useShampoo useShowerCurtain useShowerGel useShowerHead useSoap useSupport wash

Values must be of type InteractionMode.

An object that indicates how the object can be interacted with.

The keys of this object are the interaction types, and the values are InteractionMode objects.

seatSeat

Describes the shower seat, if existing.

stairsStairs

Signage

Describes a signage / physical navigation system belonging to a location.

NameType
descriptionLocalizedString

A description of the signage.

fontHeightLength

The height of the font used on the signage. Most likely in millimeters, using a range.

hasAudioboolean

true if the signage has audio, false if not.

hasBrailleboolean

true if the signage has braille, false if not.

hasNumbersboolean

true if the signage uses a numbering scheme, false if not, undefined if condition is unknown.

hasPictogramsboolean

true if the signage has pictograms, false if not.

hasRaisedLettersboolean

true if the signage has raised letters, false if not.

hasSearchboolean

true if the signage has a search function, false if not, undefined if condition is unknown.

hasTactileGuideStripsboolean

true if the signage has tactile guide strips, false if not, undefined if condition is nknown.

hasTactileHandRailsboolean

true if the signage has tactile hand rails, false if not, undefined if condition is unknown.

hasTactileMapboolean

true if the signage has a tactile map, false if not.

hasTactileNorthMarkersboolean

true if the signage has tactile north markers, false if not, undefined if condition is unknown.

https://twitter.com/saizai/status/1210352258950598656

hasTactilePavingboolean

true if the signage has tactile paving, false if not.

hasTactileRoomNamesboolean

true if the signage has tactile room names, false if not, undefined if condition is unknown.

hasTextboolean

true if the signage has text features, false if not.

hasVideoboolean

true if the signage has video, false if not.

hasVirtualMapboolean

true if the signage has a virtual map, false if not.

highLegibilityboolean

true if the signage has high legibility, false if not.

interactions Object with one or more of these keys:

findYourDestination locateYourself useSitemap

Values must be of type InteractionMode.

An object that indicates how the object can be interacted with.

The keys of this object are the interaction types, and the values are InteractionMode objects.

isHighContrastboolean

true if the signage has high contrast, false if not.

Staff

Describes the presence of staff and their qualifications and/or provided services.

NameType
canSeeVisitorsFromInsideboolean

true if the staff has means to see visitors from the inside at all times when the place is open (for example a window or CCTV system), false if not.

hasFreeAssistantForVisitorsboolean

true if there is an assistant for the duration of the visit that is free of charge, false if not.

languagesstring[]

Languages that the staff speaks, including sign language variants.

Uses IETF language codes.

spokenLanguagesstring[]

Stairs

The Stairs interface describes one or more walkable stairs.

NameType
alternativeMobileEquipmentIdsstring[]

You SHOULD reference alternative equipment IDs with this field, for example elevators, escalators, or hoists.

countnumber

Number of steps.

floorsstring[]

Floor numbers that are accessible via these stairs.

grabBarsGrabBars

Grab bars belonging to the stairs.

hasAntiSlipNosingboolean

true if all relevant steps are made with anti-slip material.

hasBrailleSignageboolean

true if there is braille navigation in this staircase, false if not.

hasHandRailboolean

true if there is a handrail covering all relevant steps, false if not.

hasHighContrastNosingboolean

true if all relevant steps have a high contrast nosing.

hasMetalGratingboolean

Do the stairs have metal grating? This is difficult to navigate for people with assistance dogs.

hasTactileSafetyStripsboolean

true if all relevant steps have tactile safety surfaces, used as warnings, implying textures detectable with the touch of a foot or sweep of a cane.

hasTactileSignageboolean

true if there is tactile navigation in this staircase, false if not.

isSpiralboolean

true if the stairs are spiral, false if not.

isWellLitboolean

Are the stairs and podests well lit?

nameLocalizedString

If there are multiple staircase, you SHOULD indicate a name for this staircase here.

stepHeightLength

Indicates how high the steps if these stairs are (can be a range).

StructuredAddress

The address of a places as Address as a series of structured attributes.

NameType
areasLocalizedString[]

An array of named areas below the district and above street. In some regions such areas might also contain street names, when individual street segments have names separate from the name of the whole road.

buildingLocalizedString

Building name

cityLocalizedString

The name of the primary locality of the place.

countryCodestring

A three-letter country code in ISO 3166-1 alpha-3, see https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3

countyLocalizedString

A division of a state; typically a secondary-level administrative division of a country or equivalent.

districtLocalizedString

A division of city; typically an administrative unit within a larger city or a customary name of a city's neighborhood.

houseLocalizedString

House or street number.

levelIndexnumber

Relative in relation to other levels. 0 for ground level must have index 0, 1 for first level, etc. You can use half numbers for levels like 1.5.

levelNameLocalizedString

Name of the level. Example: { en: "Floor 1" }, { en: "Ground level" }.

postalCodeLocalizedString

An alphanumeric string included in a postal address to facilitate mail sorting (a.k.a. post code, postcode, or ZIP code).

regionsLocalizedString[]

For address conventions where more than to levels of named areas above the city level are in use, the regions attribute provides an array with all additional area names, ordered by decreasing size (starting with the highest subdivision below state)

roomLocalizedString

Room name. Example: { en: "Meeting room ‘Rome’" }.

roomNumberLocalizedString

Room number. Example: { en: "B-101" }.

stateLocalizedString

A division of a country; typically a first-level administrative division of a country and/or a geographical region.

stateCodestring

A code/abbreviation for the state division of a country.

streetLocalizedString

Street name (in practice may also contain street number).

textLocalizedString

A displayable, formatted address as rich text.

Surface

Describes the surface of a ground or path.

NameType
lateralSlopeSlope
longitudinalSlopeSlope
smoothnessOne of the following strings:

bad excellent good horrible impassable intermediate very_bad very_good very_horrible

According to https://wiki.openstreetmap.org/wiki/Key:smoothness

turningSpaceLength

Turning space that this ground provides to people.

typesArray of one or more of these strings:

acrylic aluminium anti-slip artificial artificial_grass artificial_turf asfalto ash asphalt astroturf bamboo bare_rock bark barkchips bedrock bitumen bituminous block boardwalk boulders brick brick_weave bricks bushes carpet cement chalk chipseal cinder clay cobblestone compacted compacted_gravel composite con concrete concrete_slab concrete_slabs construction coral coral_sand crushed_limestone crushed_shells debris decoturf dirt earth enrobé fine_gravel fine_sand flagstone footway glass goudron granite grass grass_paver grass_scrub grassland grating gravel green grit ground hardcore ice ice_road interlock iron laterite lawn leaves limerock limestone linoleum loose_gravel marble marble_plate meadow metal metal_grid mixed moss mud mulch native natural none oil overgrown path paved pavement paving paving_stone paving_stones peat pebbles pebblestone plank plastic plates rasin residential rock rocks rocky roman_paving rubber rubbercrumb rubble salt sand sandstone sawdust scree scrub sealed sett shell shells shingle slabs snow soil spur steel stepping_stones stone stones synthetic tactile_paving tar tared tarmac tartan terra terre tile tiles timber track trail trees tuff turf undefined unhewn_cobblestone unpaved unpaved2 unpaved33 unpaved_minor unsealed water wood wood_chips woodchips zebra

According to https://wiki.openstreetmap.org/wiki/Key:surface

TechCombination

Describes a combination of technologies that are used together to achieve a specific goal.

The uris property is required.

NameType
descriptionLocalizedString

Localizable description of the combination. Can describe in which mode or for what goal the tech is used.

nameLocalizedString

Localizable name/title of the combination. Can describe in which mode or for what goal the tech is used.

uris*string[]

URIs of technologies that are combined together to form this tech combination. Use RDF if possible.

Supported prefix examples:

Toilet

Describes a single toilet that can be inside a restroom or cabin.

NameType
flushMechanismDistanceFromToiletLength

Indicates how far the flush mechanism(s) from the toilet, from the perspective of a the floor plan. If the flush mechanism is right behind the toilet, this is a 0 length.

grabBarsGrabBars

Object describing the grab bars.

hasAutomaticFlushboolean

true if the toilet is automatically flushing after use.

heightOfBaseLength

Indicates the height of the toilet’s base.

interactions Object with one or more of these keys:

flush secondaryFlush spray use

Values must be of type InteractionMode.

An object that indicates how the object can be interacted with.

The keys of this object are the interaction types, and the values are InteractionMode objects.

isLatrineboolean

Indicates whether the toilet is a latrine.

isSquatToiletboolean

Indicates whether the toilet is a squat toilet.

isUrinalboolean

Indicates whether the toilet is a urinal.

spaceInFrontLength

How much space is in front of the toilet?

spaceOnUsersLeftSideLength

How much space is on the left side of the toilet? (from the perspective of somebody using the toilet)

spaceOnUsersRightSideLength

How much space is on the right side of the toilet? (from the perspective of somebody using the toilet)

WashBasin

Describes a wash basin.

NameType
accessibleWithWheelchairboolean

true if the wash basin is accessible with wheelchairs, false if not.

heightLength

Defines at which height is the wash basin's top

interactions Object with one or more of these keys:

changeTemperature changeWaterPressure getCarbonizedWater getColdWater getHotWater getPaperTowel getTowel sanitizeHands useAirDryer useSoap useWater useWaterJet useWaterSpray

Values must be of type InteractionMode.

An object that indicates how the object can be interacted with.

The keys of this object are the interaction types, and the values are InteractionMode objects.

isLocatedInsideRestroomboolean

true if the restroom's wash basin is inside the cabin, false if not.

spaceBelowDepthLength

How deep is the space below the wash basin?

spaceBelowHeightLength

How high is the space below the wash basin?

WheelchairParking

Describes one or more wheelchair parking lots.

NameType
countnumber

Defines many wheelchair accessible parking lots are provided

distanceToEntranceLength

How far away is the parking from the main entrance? If there is a separate wheelchair entrance, the distance to this entrance MUST be used.

hasDedicatedSignageboolean

true if there is dedicated signage at all relevant turning points from the street to the parking, false if not, undefined if this is unknown.

interactions Object with one or more of these keys:

arrive enterVehicle exitVehicle park

Values must be of type InteractionMode.

An object that indicates how the object can be interacted with.

The keys of this object are the interaction types, and the values are InteractionMode objects.

isLocatedInsideboolean

true if the parking is inside a building or under a roof, false if not, undefined if unknown.

lengthLength

Length constraint of the parking lots.

locationLocalizedString

Describes where the parking is located.

maxVehicleHeightLength

Maximal allowed vehicle height for users of this parking.

neededParkingPermitsLocalizedString[]

List of permit names that allow using this parking.

widthLength

Width constraint of the parking lots.

WheelchairPlaces

The WheelchairPlaces interface describes the presence of reserved spots for wheelchairs.

The count property is required.

NameType
count*number

The number of designated places for wheelchairs, for example, in a cinema or theater.

hasSpaceForAssistantboolean

Is there additional space for an assistant?

wheelchairUserCapacitynumber

The number of people using a wheelchair that can be accomodated at the same time. Use this when there is no designated space for wheelchair users, but the number is known.

WifiAccessibility

Describes the presence of staff and their qualifications and/or provided services.

NameType
accessArray of one or more of these strings:

customers delivery designated disabled emergency employees no permissive permit private public residents yes

Describes who can access the wifi.

descriptionWhereToGetLoginDataLocalizedString

Describes where you get the login data / guest pass.

hasCaptivePortalboolean

true if the wifi has a captive portal website.

hasFixedPasswordboolean

true if the wifi has a fixed password. Knowing this password must be enough to enter and use the wifi.

isCaptivePortalAccessibleboolean

true if the wifi captive portal is accessible (WAI/ARIA).

isOpenToEveryoneboolean

true if the wifi is open to everyone, false if it is explicitly not.

isOpenToStaffboolean

true if the wifi is open to explicit place staff, false if explicitly not.

isOpenToVisitorsboolean

true if the wifi is open to explicit place visitors, false if explicitly not.

needsGuestPassboolean

true if you need a personalized guest pass / code / password to use the wifi, false if not.

passwordstring

A string with the Wifi password. Only use this attribute if security allows to publish this info online publicly.

ssidstring

A string with the Wifi name (SSID). Only use this attribute if security allows to publish this info online publicly.

usageFeeCurrencyValue[]

Describes if you need to pay a usage fee to use the wifi, or if no fee is needed.

\ No newline at end of file diff --git a/describing-objects/type-aliases/index.html b/describing-objects/type-aliases/index.html index 8577eec..0f0f457 100644 --- a/describing-objects/type-aliases/index.html +++ b/describing-objects/type-aliases/index.html @@ -1,4 +1,4 @@ - Type Aliases - A11yJSON
Skip to content

Type Aliases

Besides interfaces and constants, A11yJSON defines the following bare types.

Some lack proper formatting in the documentation. Fixes in tools/generate-overview.ts are welcome!

Acceleration

Definition: Quantity | string

AccessType

Definition: one of the following strings:

  • private

  • public

  • customers

  • permissive

  • yes

  • no

  • permit

  • designated

  • delivery

  • emergency

  • residents

  • employees

  • disabled

  • yes

  • no

Brightness

Definition: Quantity | string

DeskInteraction

Definition: one of the following strings:

  • changeHeight

  • savePreset

  • enqueue

  • checkIn

  • checkOut

  • ringBell

  • pay

  • handoverLuggage

  • handover

  • getReturn

  • getFood

  • getShoppingBag

  • scan

  • selfCheckout

  • open

  • close

  • unlock

  • lock

  • unlockAndLock

  • openAndClose

Direction

Describes a physical direction, from the perspective of a person facing forward.

Definition: one of the following strings:

  • up

  • down

  • left

  • right

  • forward

  • backward

  • clockwise

  • counterclockwise

DirectionAxis

Describes a physical direction axis relative to a person’s body.

Definition: one of the following strings:

  • sagittal

  • coronal

  • axial

DoorInteraction

Definition: one of the following strings:

  • ringDoorbell

  • open

  • close

  • unlock

  • lock

  • unlockAndLock

  • openAndClose

EquipmentInteraction

Definition: one of the following strings:

  • use

  • selectFloor

  • arriveAtFloor

  • callEmergency

  • ride

  • travel

  • buy

  • sell

  • call

  • understand

  • sleep

  • toggle

  • engage

  • flush

  • scan

  • handover

  • enable

  • disable

  • locateYourself

  • findYourDestination

  • getTreatment

EquipmentType

Definition: one of the following strings:

  • bed

  • wardrobe

  • elevator

  • escalator

  • movingWalkway

  • ramp

  • hoist

  • stairLift

  • switch

  • sitemap

  • vendingMachine

  • intercom

  • powerOutlet

  • flushMechanism

  • bodyScanner

  • luggageScanner

  • ticketVendingMachine

  • xrayMachine

  • ctScanner

  • mriScanner

  • ultrasoundScanner

  • wheelchairLift

  • treatmentChair

Force

Definition: Quantity | string

GenericInteraction

Definition: one of the following strings:

  • watchMovies

  • watchPlays

  • explore

  • visit

  • roam

  • read

  • rent

  • watch

  • see

  • listen

  • getFood

  • getTreatment

  • getService

  • eat

  • pay

  • buy

  • sell

  • workHere

  • arrive

  • checkIn

  • checkOut

  • useLockers

  • useService

  • change

  • use

  • book

  • play

GrabBarsInteraction

Definition: one of the following strings:

  • localizeYourself

  • findYourDestination

  • foldUp

  • foldDown

  • adjust

Hertz

Definition: Quantity | string

IETFLanguageTag

Defines a spoken or written language in IETF language tag format.

Definition: string

IntercomInteraction

Definition: one of the following strings:

  • ring

  • call

  • hangUp

  • open

  • close

  • identify

Length

Definition: Quantity | string

LocalizedString

Definition: Object with one or more of these keys:

string

Values must be of type string.

Mass

Definition: Quantity | string

MediaInteraction

Definition: one of the following strings:

  • watch

  • listen

  • feel

  • discover

  • open

  • close

  • rent

  • recognize

  • browse

  • read

  • interact

MediaType

Definition: one of the following strings:

  • document

  • menu

  • guide

  • tour

  • presentation

  • exhibit

  • movie

  • play

  • screen

  • website

  • form

MirrorInteraction

Definition: one of the following strings:

  • turn

  • adjust

  • move

  • clean

  • use

Operator

Definition: one of the following strings:

  • <

  • <=

  • ==

  • >=

  • >

  • =

  • ~

  • ~=

  • !=

ParkingInteraction

Definition: one of the following strings:

  • park

  • enterVehicle

  • exitVehicle

  • arrive

Paymentnteraction

Definition: one of the following strings:

  • pay

  • checkIn

  • logIn

  • logOut

  • register

QueueSystemInteraction

Definition: one of the following strings:

  • enqueue

  • skipQueue

  • wait

  • leaveQueue

  • arrive

  • checkIn

  • checkOut

  • getTicket

  • getOnesTurn

RestroomSignIcon

Definition: one of the following strings:

  • allGender

  • female

  • male

  • personInWheelchair

  • changingTable

  • baby

  • family

  • urinal

  • washBasin

  • toiletBowl

RoomInteraction

Definition: one of the following strings:

  • enter

  • exit

  • stand

  • sit

  • see

  • sleep

  • play

  • wait

  • storeThings

  • lookAround

  • openWindow

  • closeWindow

  • callEmergency

SeatInteraction

Definition: one of the following strings:

  • sit

  • fold

  • unfold

  • move

  • adjust

  • adjustHeight

  • adjustSeatingSurface

  • adjustSeatingAngle

  • adjustArmRests

  • removeArmrests

  • adjustHeadRest

  • adjustLegRest

  • adjustBackRest

  • adjustFootRest

  • adjustSeatBelt

  • adjustSeatBeltLength

  • adjustSeatBeltHeight

  • adjustSeatBeltAngle

  • adjustSeatBeltPosition

  • adjustSeatBeltTension

  • adjustSeatBeltLock

  • connectSeatbelt

ShowerInteraction

Definition: one of the following strings:

  • transfer

  • wash

  • useShampoo

  • useShowerGel

  • useSoap

  • useConditioner

  • useShowerCurtain

  • useShowerHead

  • useSupport

SignageInteraction

Definition: one of the following strings:

  • locateYourself

  • findYourDestination

  • useSitemap

Slope

Definition: Quantity | string

SmokingPolicy

Describes the smoking policy for visitors of a place.

Definition: one of the following strings:

  • dedicatedToSmoking

  • allowedEverywhere

  • inSeparateArea

  • inIsolatedArea

  • prohibited

  • onlyOutside

SmoothnessType

Definition: one of the following strings:

  • excellent

  • good

  • intermediate

  • bad

  • horrible

  • impassable

  • very_bad

  • very_horrible

  • very_good

Speed

Definition: Quantity | string

SurfaceType

Definition: one of the following strings:

  • acrylic

  • aluminium

  • anti-slip

  • artificial

  • artificial_grass

  • artificial_turf

  • asfalto

  • ash

  • asphalt

  • astroturf

  • bamboo

  • bare_rock

  • bark

  • barkchips

  • bedrock

  • bitumen

  • bituminous

  • block

  • boardwalk

  • boulders

  • brick

  • brick_weave

  • bricks

  • bushes

  • carpet

  • cement

  • chalk

  • chipseal

  • cinder

  • clay

  • cobblestone

  • compacted

  • compacted_gravel

  • composite

  • con

  • concrete

  • concrete_slab

  • concrete_slabs

  • construction

  • coral

  • coral_sand

  • crushed_limestone

  • crushed_shells

  • debris

  • decoturf

  • dirt

  • earth

  • enrobé

  • fine_gravel

  • fine_sand

  • flagstone

  • footway

  • glass

  • goudron

  • granite

  • grass

  • grass_paver

  • grass_scrub

  • grassland

  • grating

  • gravel

  • green

  • grit

  • ground

  • hardcore

  • ice

  • ice_road

  • interlock

  • iron

  • laterite

  • lawn

  • leaves

  • limerock

  • limestone

  • linoleum

  • loose_gravel

  • marble

  • marble_plate

  • meadow

  • metal

  • metal_grid

  • mixed

  • moss

  • mud

  • mulch

  • native

  • natural

  • none

  • oil

  • overgrown

  • path

  • paved

  • pavement

  • paving

  • paving_stone

  • paving_stones

  • peat

  • pebbles

  • pebblestone

  • plank

  • plastic

  • plates

  • rasin

  • residential

  • rock

  • rocks

  • rocky

  • roman_paving

  • rubber

  • rubbercrumb

  • rubble

  • salt

  • sand

  • sandstone

  • sawdust

  • scree

  • scrub

  • sealed

  • sett

  • shell

  • shells

  • shingle

  • slabs

  • snow

  • soil

  • spur

  • steel

  • stepping_stones

  • stone

  • stones

  • synthetic

  • tactile_paving

  • tar

  • tared

  • tarmac

  • tartan

  • terra

  • terre

  • tile

  • tiles

  • timber

  • track

  • trail

  • trees

  • tuff

  • turf

  • undefined

  • unhewn_cobblestone

  • unpaved

  • unpaved2

  • unpaved33

  • unpaved_minor

  • unsealed

  • water

  • wood

  • wood_chips

  • woodchips

  • zebra

Temperature

Definition: Quantity | string

TimeInterval

Definition: Quantity | string

ToiletInteraction

Definition: one of the following strings:

  • use

  • flush

  • secondaryFlush

  • spray

Urgency

Definition: one of the following strings:

  • alert

  • alarm

  • warning

  • info

  • debug

Volume

Definition: Quantity | string

WashBashinInteraction

Definition: one of the following strings:

  • changeTemperature

  • changeWaterPressure

  • useWater

  • getHotWater

  • getColdWater

  • getCarbonizedWater

  • useWaterJet

  • useWaterSpray

  • useSoap

  • getTowel

  • getPaperTowel

  • useAirDryer

  • sanitizeHands

WheelchairAccessibilityGrade

Definition: one of the following strings:

  • fully

  • partially

  • not

WifiInteraction

Definition: one of the following strings:

  • login

  • register

  • getPassword

  • getGuestPass

  • getTerms

  • acceptTerms

\ No newline at end of file +

Besides interfaces and constants, A11yJSON defines the following bare types.

Some lack proper formatting in the documentation. Fixes in tools/generate-overview.ts are welcome!

Acceleration

Definition: Quantity | string

AccessType

Definition: one of the following strings:

Brightness

Definition: Quantity | string

DeskInteraction

Definition: one of the following strings:

Direction

Describes a physical direction, from the perspective of a person facing forward.

Definition: one of the following strings:

DirectionAxis

Describes a physical direction axis relative to a person’s body.

Definition: one of the following strings:

DoorInteraction

Definition: one of the following strings:

EquipmentInteraction

Definition: one of the following strings:

EquipmentType

Definition: one of the following strings:

Force

Definition: Quantity | string

GenericInteraction

Definition: one of the following strings:

GrabBarsInteraction

Definition: one of the following strings:

Hertz

Definition: Quantity | string

IETFLanguageTag

Defines a spoken or written language in IETF language tag format.

Definition: string

IntercomInteraction

Definition: one of the following strings:

Length

Definition: Quantity | string

LocalizedString

Definition: Object with one or more of these keys:

string

Values must be of type string.

Mass

Definition: Quantity | string

MediaInteraction

Definition: one of the following strings:

MediaType

Definition: one of the following strings:

MirrorInteraction

Definition: one of the following strings:

Necessity

Definition: one of the following strings:

Operator

Definition: one of the following strings:

ParkingInteraction

Definition: one of the following strings:

Paymentnteraction

Definition: one of the following strings:

QueueSystemInteraction

Definition: one of the following strings:

RestroomSignIcon

Definition: one of the following strings:

RoomInteraction

Definition: one of the following strings:

SeatInteraction

Definition: one of the following strings:

ShowerInteraction

Definition: one of the following strings:

SignageInteraction

Definition: one of the following strings:

Slope

Definition: Quantity | string

SmokingPolicy

Describes the smoking policy for visitors of a place.

Definition: one of the following strings:

SmoothnessType

Definition: one of the following strings:

Speed

Definition: Quantity | string

SurfaceType

Definition: one of the following strings:

Temperature

Definition: Quantity | string

TimeInterval

Definition: Quantity | string

ToiletInteraction

Definition: one of the following strings:

Volume

Definition: Quantity | string

WashBashinInteraction

Definition: one of the following strings:

WheelchairAccessibilityGrade

Definition: one of the following strings:

WifiInteraction

Definition: one of the following strings:

\ No newline at end of file diff --git a/example-data/0-place/index.html b/example-data/0-place/index.html new file mode 100644 index 0000000..b661934 --- /dev/null +++ b/example-data/0-place/index.html @@ -0,0 +1,129 @@ + Accessibility for generic places of interest (PoIs) - A11yJSON
Skip to content

Accessibility for generic places of interest (PoIs)

To describe a generic place of interest, you can use the PlaceInfo type – the main place-of-interest object type in A11yJSON.

This type builds upon the Feature object type defined by GeoJSON (RFC 7946), so if you create an API delivering PlaceInfo objects, it might make sense to deliver them as a GeoJSON FeatureCollection object.

If you have no idea what this means: GeoJSON simplifies showing places on maps, and allows to load the data into common tools for geo-data processing (for example, QGIS) and web maps.

Example: a tourism office

The following JSON describes a tourism office in Saxonia, Germany, as PlaceInfo with PlaceProperties.

The office features wheelchair accessible parking. The restrooms are wheelchair accessible.

Despite having a level entrance (no steps), the building is only partially accessible with a wheelchair:

{
+  "geometry": { "type": "Point", "coordinates": [11.14204, 51.78911] },
+  "properties": {
+    "category": "tourism",
+    "name": "Quedlinburg-Information",
+    "accessibility": {
+      "parking": {
+        "forWheelchairUsers": { "isAvailable": true }
+      },
+      "entrances": [
+        { "isLevel": true }
+      ],
+      "restrooms": [
+        { "isAccessibleWithWheelchair": false }
+      ],
+      "accessibleWith": { "guideDog": true },
+      "partiallyAccessibleWith": { "wheelchair": true }
+    },
+    "infoPageUrl": "http://...",
+    "phoneNumber": "+49 3946 905-624",
+    "placeWebsiteUrl": "https://www.quedlinburg.de",
+    "address": {
+      "street": "Markt 4 ",
+      "postcode": "06484 ",
+      "city": "Quedlinburg",
+      "state": "Sachsen-Anhalt",
+      "country": "Deutschland",
+      "countryCode": "DE"
+    },
+  }
+}
+
\ No newline at end of file diff --git a/example-data/canteen/index.html b/example-data/canteen/index.html new file mode 100644 index 0000000..8aac971 --- /dev/null +++ b/example-data/canteen/index.html @@ -0,0 +1,219 @@ + A canteen with a braille menu, but you need a buzzer to pick up your order - A11yJSON
Skip to content

A canteen with a braille menu, but you need a buzzer to pick up your order

Experimental

Describing detailed interactions is still experimental - there are no final production/real world example usages for this yet.

The type definitions for this could still change frequently.

We think this is a cool idea though, so keep on reading and give us feedback 🙋‍♀️

This example demonstrates the Interactable interface. You can use it to describe each step required to engage in the key purpose of a place, and to describe optional ways of engagement.

The descriptions can contain barriers, means of interaction, and required abilities and senses.

For a blind person who can read braille (like 90% of employed blind adults in the US), it might be interesting to know that the menu of this canteen features braille print, but they might ask for help to pick up an order.

Describing the ordering process

To describe interactions, first add the interactions property to properties.accessibility:

{
+  "accessibility": {
+    "interactions": {
+      
+    },
+  }
+}
+

For each interaction, add a property to interactions:

{
+  "accessibility": {
+    "interactions": {
+      "order": {  },
+      "pickUpOrder": {  },
+    },
+  }
+}
+

In this case, we describe ordering food (order) and picking up your order (pickUpOrder). You can find all allowed property names in the GenericInteraction documentation, and that they vary between types – a vending machine's interaction set differs from a place's interaction set. A11yJSON does not allow arbitrary strings here for consistency reasons – this might enable you to gather accessibility statistics later, and results in a standardized set of common use cases. If you use case is missing but very common, feel free to create a pull request – or simply use main, which is the default interaction that happens at a location.

Interaction = action, feedback, and perception

In our model, an interaction consists of something you need to do (described in the action property and ActionMode type), feedback to what you do (described in action.feedback and the PerceptionMode type), and something you perceive (described in perception).

Necessities for an interaction to happen

For an interaction to happen, you need an InteractionMode, and specific, varying abilities. Some of these abilities are required to engage in the key purpose of a place, some can be optional, and some happen always, no matter if needed or not. The Necessity type has a list of these necessities we ascribe to an interaction mode or ability.

Ordering food

To order something, guests can use English language (en) or American Sign Language (ase). The staff responds in the same languages, and hands over a buzzer. In our example canteen, using a buzzer is required. It has no other means of announcing that your order is ready to pick up.

{
+  "order": {
+    "action": {
+      "languages": ["en", "ase"],
+      "signLanguage": "optional",
+      "feedback": {
+        "languages": ["en", "sgn-ase"],
+        "signLanguage": "optional",
+        "buzzer": "required",
+      },
+    },
+    "perception": {
+      "braille": "optional",
+      "signLanguage": "optional",
+    },
+  }
+}
+

Pick-up announcements

What abilities do you need to pick up food in this canteen? First, visitors need to find out that their orders are ready somehow. Our example canteen uses buzzers. Like most buzzer devices in gastronomy, our buzzers have multi-sensory output. The pickup process provides several sensory options (visual, tactile, sound) and always-happening outputs of various kinds (beep, flash, tactile, vibration).

{
+  "perception": {
+    "visual": "optional",
+    "sound": "optional",
+    "tactile": "optional",
+    "beep": "always",
+    "flash": "always",
+    "vibration": "always",
+  }
+}
+

Picking up food

An order is ready for pick-up. In a self-service canteen, the staff doesn't help you with carrying, which might be a barrier if you have a mobility impairment. So to move your order to your table, you need to be able to carry a specific weight:

{
+  "pickUpOrder": {
+    "description": {
+      "en": "You need carry the tray to your table yourself or ask for help.",
+    },
+    "action": {
+      "carryWeight": "required",
+      "weight": {
+        "min": 0.5,
+        "max": 2,
+        "unit": "kg",
+      },
+    },
+  }
+}
+

Finally, we add helpful textual description attributes to the process steps. Here is the full example (in TypeScript):

canteen.ts
import { PlaceInfo } from '../PlaceInfo.js';
+
+const canteenWithBrailleMenuAndBuzzer: PlaceInfo = {
+  geometry: {
+    type: 'Point',
+    coordinates: [-73.985664, 40.748817],
+  },
+  properties: {
+    name: {
+      en: 'Canteen at the End of the Universe',
+    },
+    category: 'restaurant',
+    accessibility: {
+      interactions: {
+        order: {
+          description: {
+            en: 'You can order in sign language, and the menu is in Braille. You get a buzzer after ordering.',
+          },
+          action: {
+            languages: ['en', 'sgn-ase'],
+            signLanguage: 'optional',
+            feedback: {
+              languages: ['en', 'sgn-ase'],
+              signLanguage: 'optional',
+              buzzer: 'required',
+            },
+          },
+          perception: {
+            braille: 'optional',
+            signLanguage: 'optional',
+          },
+        },
+        orderAnnouncement: {
+          description: {
+            en: 'When the buzzer announces your order, you have to pick it up at a separate counter. The staff there speaks sign language.',
+          },
+          perception: {
+            visual: 'optional',
+            sound: 'optional',
+            tactile: 'optional',
+            beep: 'always',
+            flash: 'always',
+            vibration: 'always',
+          },
+        },
+        pickUpOrder: {
+          description: {
+            en: 'You need carry the tray to your table yourself.',
+          },
+          action: {
+            carryWeight: 'required',
+            weight: {
+              min: 0.5,
+              max: 2,
+              unit: 'kg',
+            },
+          },
+        },
+      },
+    },
+  },
+};
+
+export default canteenWithBrailleMenuAndBuzzer;
+
\ No newline at end of file diff --git a/example-data/cinema/index.html b/example-data/cinema/index.html new file mode 100644 index 0000000..29349ef --- /dev/null +++ b/example-data/cinema/index.html @@ -0,0 +1,127 @@ + A dog-friendly, wheelchair accessible cinema that offers audio descriptions (sometimes) - A11yJSON
Skip to content

A dog-friendly, wheelchair accessible cinema that offers audio descriptions (sometimes)

{
+  "geometry": { "type": "Point", "coordinates": [2.376757, 48.898991] },
+  "properties": {
+    "category": "cinema",
+    "name": "Ciné XY",
+    "accessibility": {
+      "accessibleWith": {
+        "guideDog": true,
+        "wheelchair": true,
+      },
+      "offersActivitiesForPeopleWith": {
+        "visuallyImpairment": true,
+      },
+      "interactions": {
+        "watch": {
+          "required": true,
+          "perception": {
+            "languages": ["fr", "zh"],
+            "subtitles": "always",
+            "audioDescription": "sometimes",
+            "byod": "optional",
+            "educationLevel": 3,
+            "visual": "optional",
+          }
+        }
+      }
+    }
+  }
+}
+
\ No newline at end of file diff --git a/example-data/elevator/index.html b/example-data/elevator/index.html new file mode 100644 index 0000000..e732885 --- /dev/null +++ b/example-data/elevator/index.html @@ -0,0 +1,127 @@ + Describing elevators - A11yJSON
Skip to content

Describing elevators

Example 1

An EquipmentInfo record for an elevator in Berlin that is in service, including real-time operational status information:

{
+  "geometry": { "type": "Point", "coordinates": [13.343837, 52.536183] },
+  "properties": {
+    "category": "elevator",
+    "isWorking": true,
+    "originalId": "283",
+    "originalPlaceInfoId": "900001201",
+    "placeInfoId": "HKewiFCNgCCQS3ErP",
+    "shortDescription": "Fußgängertunnel U-/S-Bahnsteig ⟷ U-Bahnsteig",
+    "description": "Fußgängertunnel, U- und S-Bahnsteig, und U-Bahnsteig",
+    "longDescription": "zwischen dem Fußgängertunnel, dem U- und S-Bahnsteig, und dem U-Bahnsteig",
+  }
+}
+

Example 2

An elevator in Hamburg (with accessibility features) that is out of service:

{
+  "geometry": { "type": "Point", "coordinates": [10.067907, 53.581786] },
+  "properties": {
+    "category": "elevator",
+    "isWorking": false,
+    "shortDescription": "Straßenebene ⟷ Schalterhalle",
+    "description": "zwischen Straßenebene und Schalterhalle",
+    "longDescription": "zwischen der Straßenebene und der Schalterhalle",
+    "placeInfoId": "4xaRom9QqMAxgxQnx",
+    "accessibility": {
+      "hasBrailleText": true,
+      "hasSpeech": true,
+      "hasDoorsInBothDirections": false
+    },
+  }
+}
+
\ No newline at end of file diff --git a/example-data/museum/index.html b/example-data/museum/index.html new file mode 100644 index 0000000..ff48071 --- /dev/null +++ b/example-data/museum/index.html @@ -0,0 +1,137 @@ + Accessible museums - A11yJSON
Skip to content

Accessible museums

… with a guided tour in German Sign Language

See also (language code "gsg" or "sgn-gsg").

{
+  "properties": {
+    "category": "museum",
+    "accessibility": {
+      "media": [
+        { "type": "tour", "languages": ["sgn-gsg"] }
+      ]
+    }
+  }
+}
+

…with tactile artworks

Variant 1

{
+  "properties": {
+    "category": "museum",
+    "accessibility": {
+      "media": [
+        {
+          "type": "exhibit",
+          "accessMode": ["tactile"],
+          "accessModeSufficient": ["tactile"],
+          "name": { "en": "Collection of tactile models" }
+        }
+      ]
+    }
+  }
+}
+

Variant 2

{
+  "properties": {
+    "category": "museum",
+    "accessibility": {
+      "media": [
+        {
+          "type": "exhibit",
+          "isTactile": true,
+          "name": { "en": "Collection of tactile models" }
+        }
+      ]
+    }
+  }
+}
+
\ No newline at end of file diff --git a/example-data/wash-basin/index.html b/example-data/wash-basin/index.html new file mode 100644 index 0000000..89553c8 --- /dev/null +++ b/example-data/wash-basin/index.html @@ -0,0 +1,208 @@ + A complex wash basin - A11yJSON
Skip to content

A complex wash basin

This describes an actual fixture (in TypeScript) that we found in the building where the Sozialhelden e.V. office is.

washBasin.ts
import { WashBasin } from '../WashBasin.js';
+
+const washBasin: WashBasin = {
+  isLocatedInsideRestroom: true,
+  accessibleWithWheelchair: false,
+  height: { value: 79, unit: 'cm' },
+  spaceBelowHeight: { value: 75, unit: 'cm' },
+  spaceBelowDepth: { value: 50, unit: 'cm' },
+  interactions: {
+    changeTemperature: {
+      action: {
+        singleHanded: 'possible',
+        necessaryGripHeight: { value: 80, unit: 'cm' },
+        burnHazard: true,
+        tactileGuides: 'always',
+        turnKnob: 'required',
+        directionAxis: 'axial',
+      },
+      perception: {
+        heat: 'required',
+        visual: 'optional',
+        temperature: { min: 20, max: 60, unit: 'degC' },
+      },
+    },
+    changeWaterPressure: {
+      action: {
+        singleHanded: 'possible',
+        necessaryGripHeight: { value: 80, unit: 'cm' },
+        turnKnob: 'required',
+        directionAxis: 'sagittal',
+        feedback: {
+          description: { en: 'The knob shows its position.' },
+          visual: 'always',
+        },
+      },
+      perception: {
+        tactileGuides: 'always',
+      },
+    },
+    getCarbonizedWater: {
+      action: {
+        singleHanded: 'impossible',
+        twoHanded: 'possible',
+        necessaryGripHeight: { value: 100, unit: 'cm' },
+        tactileGuides: 'always',
+        knurled: true,
+        knob: 'always',
+        turnKnob: 'required',
+        press: 'required',
+        direction: 'down',
+        isEasyToUnderstand: false,
+      },
+      perception: {
+        tactileGuides: 'always',
+      },
+    },
+    useSoap: {
+      action: {
+        singleHanded: 'possible',
+        necessaryGripHeight: { value: 120, unit: 'cm' },
+      },
+      perception: {
+        smell: 'always',
+        visual: 'always',
+        isEasyToFind: true,
+      },
+    },
+    getTowel: {
+      action: {
+        singleHanded: 'possible',
+        necessaryGripHeight: { value: 120, unit: 'cm' },
+      },
+      perception: {
+        visual: 'always',
+        isEasyToFind: true,
+      },
+    },
+    getPaperTowel: {
+      action: {
+        singleHanded: 'possible',
+        necessaryGripHeight: { value: 120, unit: 'cm' },
+      },
+      perception: {
+        isEasyToFind: true,
+      },
+    },
+    useAirDryer: {
+      action: {
+        singleHanded: 'possible',
+        necessaryGripHeight: { value: 80, unit: 'cm' },
+      },
+      perception: {
+        isEasyToFind: true,
+      },
+    },
+    sanitizeHands: {
+      action: {
+        singleHanded: 'possible',
+        necessaryGripHeight: { value: 120, unit: 'cm' },
+        press: 'required',
+        activationForce: { value: 10, unit: 'N' },
+      },
+      perception: {
+        isEasyToFind: true,
+      },
+    },
+  },
+};
+
+export default washBasin;
+
\ No newline at end of file diff --git a/faq/index.html b/faq/index.html index 5eb64c7..a93d7f9 100644 --- a/faq/index.html +++ b/faq/index.html @@ -1,4 +1,4 @@ - FAQ - A11yJSON
Skip to content

FAQ

Should I use this standard?

Yes, until there is something better. Even if you cannot adapt the whole format as part of your own indoor mapping specs, it’s a good idea to adapt single interfaces where you see fit.

Note that A11yJSON does not yet cover the full details of services, tangible products, or events yet. Extensions are welcome!

What about Linked Data?

Accessibility data should be shareable in a decentralized fashion, and we think that physical accessibility is a topic that is too important to let one single NGO coordinate it.

Work is happening at the W3C to create a web community standard successor, based on a Linked Data graph. We have co-founded the W3C Linked Data for Accessibility (LDA) Community Group, so you can take part in the standardization, too! Community standardizations are no quick processes, though, so using A11yJSON is a safe bet for a while.

Can you add new criteria?

Please file an issue so we can discuss how to extend the format. Pull requests are welcome if a discussion happens first. Please ensure your pull requests include tests!

I have no resources to convert my dataset to A11yJSON. Are there alternatives to share the data?

If you want to make your data available to others but lack the resources to convert or migrate your data to A11yJSON, there is a way to do this. It’s enough if your data schema has similarities to A11yJSON’s attribute names and nesting.

Whether you use A11yJSON or a similar format, as long as your data is available as CSV, JSON, XML, or over a web API, you can publish the data on accessibility.cloud. The platform makes your data consumable as A11yJSON. The team offers support to help you get your datasets transformed and shared with others. (It’s up to you if you want to share the dataset as open data, or limit access to specific organizations.)

What does the ‘A11y’ in A11yJSON mean?

Like I18n and l10n, a11y is a shorthand for ‘accessibility’. 11 is the number of letters between the ‘a’ and the ‘y’ in the word ‘accessiblity’. Voice assistants pronounce it ‘A-one-one-Y’, and some people pronounce it ‘A-eleven-Y’. The most common pronunciation is the phonetic ‘ælaj’. Some find this pronunciation plain wrong; others want the numeronym to die. It’s quicker to type than the full a-word, though, so our hunch is that it’s here to stay.

I can't use JavaScript/SimpleSchema. Can I still use A11yJSON?

Of course! Just integrate its documented interfaces into your own data types.

A11yJSON’s TypeScript schema comes with runtime-types in SimpleSchema. This allows to auto-generate schemas in other description languages. We’d love to see your contributions as npm modules or libraries for other ecosystems and languages, such as:

  • GraphQL
  • JSONSchema
  • OpenAPI / Swagger
  • Interfaces/types in other typed languages
\ No newline at end of file +
Skip to content

FAQ

Is this for me?

If you build an app that digitalizes any aspect of real life, this data format is potentially relevant to you. Why? Because if you are responsible for modeling data, you decide if your data format adds new barriers to this real world – or if your app creates a new entrance. Use this power wisely, and ensure that your data design includes everyone from the start. This means: even before the UI around your data model is built. 🦾

A11yJSON can help (or at least inspire) you if you work with data in…

  • Architecture
  • Indoor navigation
  • Facility management
  • Accessibility surveys
  • Location-based services
  • Outdoor/transit navigation
  • Building Information Management (BIM)

Should I use this standard?

Yes, until there is something better. Even if you cannot adapt the whole format as part of your own indoor mapping specs, it’s a good idea to adapt single data models where you see fit.

Note that A11yJSON does not yet cover the full details of services, tangible products, or events yet. Extensions are welcome!

A11yJSON is designed to be compatible with other datasets. In general, A11yJSON allows to create more detailed descriptions for objects and places existing somewhere else, and aims to help you collect and augment existing datasets.

Adding references to other datasets in an A11yJSON data record

For this, we recommend inventing a URI scheme that allows to reference single records in your dataset (like https://your-organization.com/places/1234 as a persistent URI for a place with the ID 1234), and adding matching URIs in A11yJSON records using the sameAs attribute. This is how Wheelmap.org uses A11yJSON via the accessibility.cloud API to connect OpenStreetMap places with other data sources.

If your organization maintains an A11yJSON dataset on accessibility.cloud, the accessibility.cloud API lets you to find accessibility data for a given record in your data source. For this, the record needs to have a URI.

Here is an example API URL for requesting more infos about https://openstreetmap.org/way/23576086: https://accessibility-cloud-v2.freetls.fastly.net/place-infos.json?appToken=APP_TOKEN&sameAs=https://openstreetmap.org/way/23576086 (insert your own APP_TOKEN to try it out).

Because accessibility.cloud has more infos about this object, it would respond like this (compacted for brevity):

{
+  "type": "FeatureCollection",
+  "related": {
+    "licenses": {
+      "...": "..."
+    },
+    "images": {
+      "...": "..."
+    }
+  },
+  "features": [
+    {
+      "type": "Feature",
+      "geometry": {
+        "...": "..."
+      },
+      "properties": {
+        "category": "townhall",
+        "name": {
+          "de": "Rathaus"
+        },
+        "sameAs": [
+          "https://openstreetmap.org/way/23576086"
+        ],
+        "accessibility": {
+          "accessibleWith": {
+            "wheelchair": true
+          },
+          "entrances": [
+            {
+              "geometry": {
+                "type": "Point",
+                "coordinates": [
+                  10.898418,
+                  48.368721
+                ]
+              },
+              "properties": {
+                "isMainEntrance": true,
+                "hasFixedRamp": true
+              }
+            },
+            {
+              "geometry": {
+                "type": "Point",
+                "coordinates": [
+                  10.898377,
+                  48.369305
+                ]
+              },
+              "properties": {
+                "isMainEntrance": false,
+                "isLevel": true
+              }
+            }
+          ],
+          "restrooms": [
+            {
+              "isAccessibleWithWheelchair": true,
+              "entrance": {
+                "properties": {
+                  "door": {
+                    "width": {
+                      "value": 90,
+                      "unit": "cm",
+                      "rawValue": ">= 90 cm",
+                      "operator": ">="
+                    }
+                  }
+                }
+              },
+              "turningSpaceInside": {
+                "value": 150,
+                "unit": "cm",
+                "rawValue": ">= 150 cm",
+                "operator": ">="
+              },
+              "toilet": {
+                "grabBars": {
+                  "onUsersLeftSide": true,
+                  "onUsersRightSide": true
+                },
+                "heightOfBase": {
+                  "value": 65,
+                  "unit": "cm"
+                }
+              },
+              "washBasin": {
+                "accessibleWithWheelchair": true
+              }
+            }
+          ]
+        }
+      }
+    }
+  ]
+}
+

To reference accessibility.cloud data records, use an URI scheme like this: https://ld.accessibility.cloud/[TYPE]/[ID] (where [TYPE] is a data type like PlaceInfo, and [ID] is the database record's ID).

And while there is no ‘A11yJSON-LD’ standard yet, GeoJSON-LD points in a direction how A11yJSON data records could be formatted as Linked Data at some point.

I like OpenStreetMap – what is the relation between A11yJSON and OpenStreetMap accessibility tags?

We created A11yJSON to allow describing detailed accessibility infos for places and objects, and to make the data easy to exchange. OpenStreetMap is a fantastic database for geometry (and accessibility) data – but the data is difficult to consume if you are no expert with its tagging schemes.

For accessibility apps, this is an entry barrier that A11yJSON aims to solve.

Where Wheelmap.org uses A11yJSON in connection with OpenStreetMap, it doesn't aim to replace OSM's tagging, but allows to augment OpenStreetMap data with community-based and professional surveying – without tempering with OpenStreetMap's main dataset. Beyond this, it allows to invent features with new accessibiility criteria that don't fit OpenStreetMap's data structure or that would be difficult to fit into a working tagging proposal.

Can you add new criteria?

Please create an issue so we can discuss how to extend the format. Pull requests are welcome if a discussion happens first. Please ensure your pull requests includes tests!

I have no resources to convert my dataset to A11yJSON. Are there alternatives to share the data?

If you want to make your data available to others but lack the resources to convert or migrate your data to A11yJSON, there is a way to do this. It’s enough if your data schema has similarities to A11yJSON’s attribute names and nesting.

Whether you use A11yJSON or a similar format, as long as your data is available as CSV, JSON, XML, or over a web API, you can publish the data on accessibility.cloud. The platform makes your data consumable as A11yJSON. The team offers support to help you get your datasets transformed and shared with others. (It’s up to you if you want to share the dataset as open data, or limit access to specific organizations.)

What does the ‘A11y’ in A11yJSON mean?

Like I18n and l10n, a11y is a shorthand for ‘accessibility’. 11 is the number of letters between the ‘a’ and the ‘y’ in the word ‘accessiblity’. Voice assistants pronounce it ‘A-one-one-Y’, and some people pronounce it ‘A-eleven-Y’. The most common pronunciation is the phonetic ‘ælaj’. Some find this pronunciation plain wrong; others want the numeronym to die. It’s quicker to type than the full a-word, though, so our hunch is that it’s here to stay.

I can't use JavaScript/SimpleSchema. Can I still use A11yJSON?

Of course! Just integrate its documented data model into your own data types.

A11yJSON’s TypeScript schema comes with runtime-types in SimpleSchema. This allows to auto-generate schemas in other description languages. We’d love to see your contributions as npm modules or libraries for other ecosystems and languages, such as:

  • GraphQL
  • JSONSchema
  • OpenAPI / Swagger
  • Interfaces/types in other typed languages
\ No newline at end of file diff --git a/i18n/index.html b/i18n/index.html index 9ad5ffd..3dd2996 100644 --- a/i18n/index.html +++ b/i18n/index.html @@ -95,10 +95,10 @@ } } } -
Skip to content

Internationalization

In A11yJSON, you can localize all human-readable strings using JSON objects with IETF language tags as property names and the translations as property values:

{
-  "en": "Accessibility",
-  "de": "Zugänglichkeit",
-  "zh-Hans": "无障碍",
-  "ase": "https://www.handspeak.com/word/search/index.php?id=1643"
-}
-

This is optional - the specification allows to use a string, too.

We encourage you to localize your strings—If available, you can even use IETF sign language tags (like ase for American Sign Language) for adding sign language localization using video, image or website URLs.

\ No newline at end of file +
Skip to content

Internationalization

In A11yJSON, you can localize all human-readable strings using JSON objects with IETF language tags as property names and the translations as property values:

{
+  "en": "Accessibility",
+  "de": "Zugänglichkeit",
+  "zh-Hans": "无障碍",
+  "ase": "https://www.handspeak.com/word/search/index.php?id=1643"
+}
+

This is optional - the specification allows to use a string, too.

We encourage you to localize your strings—If available, you can even use IETF sign language tags (like ase for American Sign Language) for adding sign language localization using video, image or website URLs.

\ No newline at end of file diff --git a/index.html b/index.html index 316f0ec..4a00ba1 100644 --- a/index.html +++ b/index.html @@ -95,14 +95,14 @@ } } } -
Skip to content

A standard to describe the accessibility of the physical world.

A11yJSON icon A11yJSON is an open standard based on GeoJSON (RFC 7946). Its goal is to make accessibility information more comfortable to exchange.

Integrate A11yJSON into data schemas that describe…

  • real places
  • local amenities
  • sanitary facilities
  • physical media and services
  • policies that can be barriers (like dog friendliness)
  • escalators and elevators (including their real-time operational status)

This is a valid A11yJSON data snippet:

{
-  "entrances": [
-    { "name": "30th St", "isMainEntrance": true, "isLevel": false },
-    { "name": "Side gate", "hasFixedRamp": true }
-  ],
-  "animalPolicy": {
-    "allowsGuideDogs": false
-  }
-}
-

See the examples for more complex definitions, or the list of accessibility criteria to see the format's extent.

Is this for me?

If you build an app that digitalizes any aspect of real life, you decide if it adds a new barrier to this real world – or creates a new entrance. Use this power wisely and ensure that your data design is inclusive. 🦾

A11yJSON can help you if you work with data in…

  • Architecture
  • Indoor navigation
  • Facility management
  • Accessibility surveys
  • Location-based services
  • Outdoor/transit navigation
  • Building Information Management (BIM)

Here is a list of projects using A11yJSON.

Technically…

A11yJSON provides a collection of documented interfaces for structuring data in your projects – no matter which language you use.

It comes with a TypeScript library to check your data structures at compile-time.

For web and Node.js, there is @sozialhelden/a11yjson, a npm module. The model validates data at runtime using SimpleSchema, sanitizes input, and returns sophisticated error messages for wrong data.

The schema definition API is simple to read, so the schema should be portable to other schema languages (GraphQL, JSON Schema, …), if necessary. If you have a specific idea, let’s talk!

Who is behind A11yJSON?

A11yJSON is made by Sozialhelden e.V., a non-profit that works on innovative solutions to social issues. It’s based in Berlin, Germany, and known for Wheelmap.org, the world’s biggest open online map of accessible places.

Finally…

If you think that A11yJSON deserves attention, consider giving it a Star on GitHub, and sharing it on Twitter! 🙌

\ No newline at end of file +
Skip to content

A standard to describe the accessibility of the physical world.

A11yJSON icon A11yJSON is an open standard based on GeoJSON (RFC 7946). Its goal is to make accessibility information more comfortable to exchange.

Integrate A11yJSON into data schemas that describe…

  • real places
  • local amenities, like elevators, escalators, or vending machines
  • sanitary facilities
  • physical media and services
  • policies that can be barriers (like dog friendliness)
  • escalators and elevators (including their real-time operational status)

This is a valid A11yJSON data snippet:

{
+  "entrances": [
+    { "name": "30th St", "isMainEntrance": true, "isLevel": false },
+    { "name": "Side gate", "hasFixedRamp": true }
+  ],
+  "animalPolicy": {
+    "allowsGuideDogs": false
+  }
+}
+

The docs provide examples (for example, a cinema, canteen, an elevator) for more complex definitions, or the list of accessibility criteria to see the format's extent.

Is this for me?

See the FAQ.

Here is a list of projects using A11yJSON.

Technically…

A11yJSON provides a collection of documented data model for structuring data in your projects – no matter which language you use.

It comes with a TypeScript library to check your data structures at compile-time.

For web and Node.js, there is @sozialhelden/a11yjson, a npm module. The model validates data at runtime using SimpleSchema, sanitizes input, and returns sophisticated error messages for wrong data.

The schema definition API is simple to read, so the schema should be portable to other schema languages (GraphQL, JSON Schema, …), if necessary. If you have a specific idea, let’s talk!

Who is behind A11yJSON?

A11yJSON is made by Sozialhelden e.V., a non-profit that works on innovative solutions to social issues. It’s based in Berlin, Germany, and known for Wheelmap.org, the world’s biggest open online map of accessible places.

Finally…

If you think that A11yJSON deserves attention, consider giving it a Star on GitHub, share the project on social media, and tell your friends! 🙌

\ No newline at end of file diff --git a/search/search_index.json b/search/search_index.json index d6b9492..68645ad 100644 --- a/search/search_index.json +++ b/search/search_index.json @@ -1 +1 @@ -{"config":{"lang":["en"],"separator":"[\\s\\-]+","pipeline":["stopWordFilter"]},"docs":[{"location":"","title":"A standard to describe the accessibility of the physical world.","text":"

A11yJSON is an open standard based on GeoJSON (RFC 7946). Its goal is to make accessibility information more comfortable to exchange.

Integrate A11yJSON into data schemas that describe\u2026

This is a valid A11yJSON data snippet:

{\n\"entrances\": [\n{ \"name\": \"30th St\", \"isMainEntrance\": true, \"isLevel\": false },\n{ \"name\": \"Side gate\", \"hasFixedRamp\": true }\n],\n\"animalPolicy\": {\n\"allowsGuideDogs\": false\n}\n}\n

See the examples for more complex definitions, or the list of accessibility criteria to see the format's extent.

"},{"location":"#is-this-for-me","title":"Is this for me?","text":"

If you build an app that digitalizes any aspect of real life, you decide if it adds a new barrier to this real world \u2013 or creates a new entrance. Use this power wisely and ensure that your data design is inclusive. \ud83e\uddbe

A11yJSON can help you if you work with data in\u2026

Here is a list of projects using A11yJSON.

"},{"location":"#technically","title":"Technically\u2026","text":"

A11yJSON provides a collection of documented interfaces for structuring data in your projects \u2013 no matter which language you use.

It comes with a TypeScript library to check your data structures at compile-time.

For web and Node.js, there is @sozialhelden/a11yjson, a npm module. The model validates data at runtime using SimpleSchema, sanitizes input, and returns sophisticated error messages for wrong data.

The schema definition API is simple to read, so the schema should be portable to other schema languages (GraphQL, JSON Schema, \u2026), if necessary. If you have a specific idea, let\u2019s talk!

"},{"location":"#who-is-behind-a11yjson","title":"Who is behind A11yJSON?","text":"

A11yJSON is made by Sozialhelden e.V., a non-profit that works on innovative solutions to social issues. It\u2019s based in Berlin, Germany, and known for Wheelmap.org, the world\u2019s biggest open online map of accessible places.

"},{"location":"#finally","title":"Finally\u2026","text":"

If you think that A11yJSON deserves attention, consider giving it a Star on GitHub, and sharing it on Twitter! \ud83d\ude4c

"},{"location":"0-usage/","title":"Usage","text":""},{"location":"0-usage/#installing-the-npm-module","title":"Installing the npm module","text":"
npm install --save @sozialhelden/a11yjson\n
"},{"location":"0-usage/#basics","title":"Basics","text":"

A11yJSON's reference provides a documentation of all available interfaces and has example A11yJSON objects.

For each interface X you find in the reference, the a11yjson npm module provides

  1. a TypeScript interface X (if you use TypeScript)
  2. a SimpleSchema instance named XSchema to validate and sanitize objects to be correct A11yJSON
"},{"location":"0-usage/#typescript-usage","title":"TypeScript usage","text":"
import { PlaceInfo } from '@sozialhelden/a11yjson';\n\nconst placeInfo: PlaceInfo = {\ngeometry: { type: Point, coordinates: [2.376757, 48.898991] },\nproperties: {\ncategory: \"cinema\",\nname: \"Cin\u00e9 XY\",\naccessibility: {\naccessibleWith: {\nguideDog: true,\nwheelchair: true,\n},\nmedia: [\n{\ntype: 'movie',\ninteractions: {\nwatch: {\nperception: {\nlanguages: ['fr'],\ndedicatedScreenForSubtitles: true,\nsubtitles: true,\naudioDescription: true,\nbyod: true,\neducationLevel: 3,\nvisual: true,\nrealTimeCaptioning: true,\nsignLanguage: true,\n}\n}\n}\n}\n]\n}\n}\n}\n

The TypeScript compiler will validate definitions at compile time.

"},{"location":"0-usage/#validating-a11yjson-objects-at-runtime","title":"Validating A11yJSON objects at runtime","text":"

The following code imports one interface schema, PlaceInfoSchema, from A11yJSON, and validates an object against it.

If the object isn't valid, you get a detailed error object as validation result.

import { getPlaceInfoSchemaDefinition } from '@sozialhelden/a11yjson';\n\nconst PlaceInfoSchema = new SimpleSchema(getPlaceInfoSchemaDefinition());\n\n// This could be your GeoJSON feature.\n\nconst myGeoJSONFeature = {\ngeometry: { \u2026 }\nproperties: { \u2026 }\n};\n\n// See https://github.com/aldeed/simple-schema-js for the full documentation\n// of how validation works.\n\nconst validationContext = PlaceInfoSchema.newContext();\n\n// Sanitizes the input object.\n// Converts types to match the schema where possible, and converts quantity\n// strings like '12 inches' to Quantity objects like { value: 12, unit: 'inch' }.\n\nconst sanitizedGeoJSONFeature = PlaceInfoSchema.clean(myGeoJSONFeature);\n\n// Checks if the GeoJSON is a valid A11yJSON\u2019s `PlaceInfo`.\n\nvalidationContext.validate(sanitizedGeoJSONFeature);\n\nif (!validationContext.isValid()) {\nconst errors = validationContext.validationErrors();\n\n// `errors` is a JSON object with detailled validation infos about each field\n// in the input object.\n\nconsole.log(errors);\n}\n
"},{"location":"1-example-data/","title":"Example data","text":""},{"location":"1-example-data/#placeinfo","title":"PlaceInfo","text":"

This JSON describes a tourism office in Saxonia, Germany, as PlaceInfo with PlaceProperties. It has wheelchair accessible parking. The restrooms are wheelchair accessible. Despite having a level entrance (no steps), the building is only partially accessible with a wheelchair:

{\n\"geometry\": { \"type\": \"Point\", \"coordinates\": [11.14204, 51.78911] },\n\"properties\": {\n\"category\": \"tourism\",\n\"name\": \"Quedlinburg-Information\",\n\"accessibility\": {\n\"parking\": {\n\"forWheelchairUsers\": { \"isAvailable\": true }\n},\n\"entrances\": [\n{ \"isLevel\": true }\n],\n\"restrooms\": [\n{ \"isAccessibleWithWheelchair\": false }\n],\n\"accessibleWith\": { \"guideDog\": true },\n\"partiallyAccessibleWith\": { \"wheelchair\": true }\n},\n\"infoPageUrl\": \"http://...\",\n\"phoneNumber\": \"+49 3946 905-624\",\n\"placeWebsiteUrl\": \"https://www.quedlinburg.de\",\n\"address\": {\n\"street\": \"Markt 4 \",\n\"postcode\": \"06484 \",\n\"city\": \"Quedlinburg\",\n\"state\": \"Sachsen-Anhalt\",\n\"country\": \"Deutschland\",\n\"countryCode\": \"DE\"\n},\n}\n}\n
"},{"location":"1-example-data/#a-cinema-that-is-dog-friendly-and-wheelchair-accessible-offering-audio-descriptions","title":"A cinema that is dog-friendly and wheelchair accessible, offering audio descriptions","text":"
{\n\"geometry\": { \"type\": \"Point\", \"coordinates\": [2.376757, 48.898991] },\n\"properties\": {\n\"category\": \"cinema\",\n\"name\": \"Cin\u00e9 XY\",\n\"accessibility\": {\n\"accessibleWith\": {\n\"guideDog\": true,\n\"wheelchair\": true,\n},\n\"offersActivitiesForPeopleWith\": {\n\"visuallyImpairment\": true,\n}\n}\n}\n}\n
"},{"location":"1-example-data/#a-restaurant-with-a-braille-menu","title":"A restaurant with a braille menu","text":"
{\n\"properties\": {\n\"category\": \"restaurant\",\n\"accessibility\": {\n\"media\": [\n{ \"type\": \"menu\", \"isBraille\": true }\n]\n}\n}\n}\n
"},{"location":"1-example-data/#a-museum-with-a-guided-tour-in-german-sign-language","title":"A museum with a guided tour in German Sign Language","text":"

See also (language code \"gsg\" or \"sgn-gsg\").

{\n\"properties\": {\n\"category\": \"museum\",\n\"accessibility\": {\n\"media\": [\n{ \"type\": \"tour\", \"languages\": [\"sgn-gsg\"] }\n]\n}\n}\n}\n
"},{"location":"1-example-data/#a-museum-with-tactile-models","title":"A museum with tactile models","text":""},{"location":"1-example-data/#variant-1","title":"Variant 1","text":"
{\n\"properties\": {\n\"category\": \"museum\",\n\"accessibility\": {\n\"media\": [\n{\n\"type\": \"exhibit\",\n\"accessMode\": [\"tactile\"],\n\"accessModeSufficient\": [\"tactile\"],\n\"name\": { \"en\": \"Collection of tactile models\" }\n}\n]\n}\n}\n}\n
"},{"location":"1-example-data/#variant-2","title":"Variant 2","text":"
{\n\"properties\": {\n\"category\": \"museum\",\n\"accessibility\": {\n\"media\": [\n{\n\"type\": \"exhibit\",\n\"isTactile\": true,\n\"name\": { \"en\": \"Collection of tactile models\" }\n}\n]\n}\n}\n}\n
"},{"location":"1-example-data/#equipmentinfo","title":"EquipmentInfo","text":""},{"location":"1-example-data/#an-equipmentinfo-record-for-an-elevator-in-berlin-that-is-in-service-including-realtime-operational-status-information","title":"An EquipmentInfo record for an elevator in Berlin that is in service, including realtime operational status information","text":"
{\n\"geometry\": { \"type\": \"Point\", \"coordinates\": [13.343837, 52.536183] },\n\"properties\": {\n\"category\": \"elevator\",\n\"isWorking\": true,\n\"originalId\": \"283\",\n\"originalPlaceInfoId\": \"900001201\",\n\"placeInfoId\": \"HKewiFCNgCCQS3ErP\",\n\"shortDescription\": \"Fu\u00dfg\u00e4ngertunnel U-/S-Bahnsteig \u27f7 U-Bahnsteig\",\n\"description\": \"Fu\u00dfg\u00e4ngertunnel, U- und S-Bahnsteig, und U-Bahnsteig\",\n\"longDescription\": \"zwischen dem Fu\u00dfg\u00e4ngertunnel, dem U- und S-Bahnsteig, und dem U-Bahnsteig\",\n}\n}\n
"},{"location":"1-example-data/#a-elevator-in-hamburg-with-accessibility-features-that-is-out-of-service","title":"A elevator in Hamburg with accessibility features that is out of service","text":"
{\n\"geometry\": { \"type\": \"Point\", \"coordinates\": [10.067907, 53.581786] },\n\"properties\": {\n\"category\": \"elevator\",\n\"isWorking\": false,\n\"shortDescription\": \"Stra\u00dfenebene \u27f7 Schalterhalle\",\n\"description\": \"zwischen Stra\u00dfenebene und Schalterhalle\",\n\"longDescription\": \"zwischen der Stra\u00dfenebene und der Schalterhalle\",\n\"placeInfoId\": \"4xaRom9QqMAxgxQnx\",\n\"accessibility\": {\n\"hasBrailleText\": true,\n\"hasSpeech\": true,\n\"hasDoorsInBothDirections\": false\n},\n}\n}\n
"},{"location":"2-who-uses-a11yjson/","title":"Who uses A11yJSON?","text":"

The following organizations / products use A11yJSON.

Contact us if you want your organization to show up on this list.

"},{"location":"faq/","title":"FAQ","text":""},{"location":"faq/#should-i-use-this-standard","title":"Should I use this standard?","text":"

Yes, until there is something better. Even if you cannot adapt the whole format as part of your own indoor mapping specs, it\u2019s a good idea to adapt single interfaces where you see fit.

Note that A11yJSON does not yet cover the full details of services, tangible products, or events yet. Extensions are welcome!

"},{"location":"faq/#what-about-linked-data","title":"What about Linked Data?","text":"

Accessibility data should be shareable in a decentralized fashion, and we think that physical accessibility is a topic that is too important to let one single NGO coordinate it.

Work is happening at the W3C to create a web community standard successor, based on a Linked Data graph. We have co-founded the W3C Linked Data for Accessibility (LDA) Community Group, so you can take part in the standardization, too! Community standardizations are no quick processes, though, so using A11yJSON is a safe bet for a while.

"},{"location":"faq/#can-you-add-new-criteria","title":"Can you add new criteria?","text":"

Please file an issue so we can discuss how to extend the format. Pull requests are welcome if a discussion happens first. Please ensure your pull requests include tests!

"},{"location":"faq/#i-have-no-resources-to-convert-my-dataset-to-a11yjson-are-there-alternatives-to-share-the-data","title":"I have no resources to convert my dataset to A11yJSON. Are there alternatives to share the data?","text":"

If you want to make your data available to others but lack the resources to convert or migrate your data to A11yJSON, there is a way to do this. It\u2019s enough if your data schema has similarities to A11yJSON\u2019s attribute names and nesting.

Whether you use A11yJSON or a similar format, as long as your data is available as CSV, JSON, XML, or over a web API, you can publish the data on accessibility.cloud. The platform makes your data consumable as A11yJSON. The team offers support to help you get your datasets transformed and shared with others. (It\u2019s up to you if you want to share the dataset as open data, or limit access to specific organizations.)

"},{"location":"faq/#what-does-the-a11y-in-a11yjson-mean","title":"What does the \u2018A11y\u2019 in A11yJSON mean?","text":"

Like I18n and l10n, a11y is a shorthand for \u2018accessibility\u2019. 11 is the number of letters between the \u2018a\u2019 and the \u2018y\u2019 in the word \u2018accessiblity\u2019. Voice assistants pronounce it \u2018A-one-one-Y\u2019, and some people pronounce it \u2018A-eleven-Y\u2019. The most common pronunciation is the phonetic \u2018\u00e6laj\u2019. Some find this pronunciation plain wrong; others want the numeronym to die. It\u2019s quicker to type than the full a-word, though, so our hunch is that it\u2019s here to stay.

"},{"location":"faq/#i-cant-use-javascriptsimpleschema-can-i-still-use-a11yjson","title":"I can't use JavaScript/SimpleSchema. Can I still use A11yJSON?","text":"

Of course! Just integrate its documented interfaces into your own data types.

A11yJSON\u2019s TypeScript schema comes with runtime-types in SimpleSchema. This allows to auto-generate schemas in other description languages. We\u2019d love to see your contributions as npm modules or libraries for other ecosystems and languages, such as:

"},{"location":"i18n/","title":"Internationalization","text":"

In A11yJSON, you can localize all human-readable strings using JSON objects with IETF language tags as property names and the translations as property values:

{\n\"en\": \"Accessibility\",\n\"de\": \"Zug\u00e4nglichkeit\",\n\"zh-Hans\": \"\u65e0\u969c\u788d\",\n\"ase\": \"https://www.handspeak.com/word/search/index.php?id=1643\"\n}\n

This is optional - the specification allows to use a string, too.

We encourage you to localize your strings\u2014If available, you can even use IETF sign language tags (like ase for American Sign Language) for adding sign language localization using video, image or website URLs.

"},{"location":"x-contributing/","title":"Contributing","text":"

We're delighted you're reading this because we need volunteer developers to help this project come to fruition. \ud83d\udc4f

This project is not complete and will never be. We're open to your suggestions and comments, no matter if you have an idea for A11yJSON, if you want to share data on platforms like Wheelmap, or if you want to consume it in your own apps (for example, from accessibility.cloud).

Say hi via email or create an issue!

Please respect our Code of Conduct.

Even if you don\u2019t have the resources to contribute code, you can help A11yJSON by spreading the word.

"},{"location":"x-contributing/#pull-requests","title":"Pull requests","text":"

Before you make a pull request, please open an issue so we can discuss the contribution you want to make.

These steps guide you through contributing to this project:

Finally, send a GitHub Pull Request with a clear list of what you've done (read more about pull requests). If possible, your commits should be atomic (one feature per commit).

"},{"location":"x-contributing/#documentation-with-mkdocs-material","title":"Documentation with mkdocs-material","text":"

Prerequisites: Have a local Docker installation.

npm run docs:install        # Installs the mkdocs-material Docker image\n\nnpm run docs:live           # Run this while making changes in the docs/ Markdown files\n\nnpm run docs:deploy         # Deploys the documentation on GitHub pages\n
"},{"location":"best-practices/bad-examples-and-how-to-improve-them/","title":"Bad examples and how to improve them","text":""},{"location":"best-practices/bad-examples-and-how-to-improve-them/#dos-and-donts","title":"Do\u2019s and Don\u2019ts","text":"

The table below displays Do\u2019s and Don\u2019ts of accessibility characterizations.

Bad example Recommendation \u2018The place is not accessible in a wheelchair\u2019 \u2018There is one step at the entrance, its height is 2 inches\u2019 \u2018The place has offers for blind people\u2019 Explain the available facilities, e.g. audio description, tactile ground surfaces, or that a restaurant menu is available in Braille text. \u2018The sitemap is accessible for blind people\u2019 \u2018The sitemap is available in braille\u2019 or \u2018The sitemap has high contrast and uses big fonts\u2019 \u2018The staff is trained in accomodating people with disabilities\u2019 Explain which facilities or services exist in detail. \u2018Wheelchair users gave this place \u2157 stars\u2019 Explain the facilities wheelchair users can find at the place. Is there a step at the entrance? A wheelchair-accessible toilet? Do you need a special key to open the door? If this is too complex, you can offer a traffic light system like Wheelmap.org - but if you do so, the criteria for red/yellow/green must be easy to find in the UI, and the rating must be guided to get consistent data. If you use a traffic light system, use more than colors to differentiate between different levels of accessibility - your color-blind audience will thank you!"},{"location":"best-practices/bad-examples-and-how-to-improve-them/#examples-of-helpful-measurable-data-points","title":"Examples of helpful, measurable data points","text":""},{"location":"best-practices/copytext-accessibility/","title":"Copytext accessibility, the opportunity you likely missed","text":"

If you design user interfaces, you know that written text in your product has a significant impact on its user experience: Crafting concise copytext is tricky, but worth it. Vice-versa: mediocre copytext or typography ruins an app's credibility. If your app plays a vital role for somebody, faulty wording might have consequences that ruin their day.

Even if you know a tad about accessibility labels, you might have missed the following simple opportunity to improve your copytext.

"},{"location":"best-practices/copytext-accessibility/#increase-variance-in-titles","title":"Increase variance in titles","text":"

Product titles, service names, anything with a title: These words in your app can be the most crucial piece of information. Yet, most database models represent each name with one single string. Either this tring has a lot of details and keywords (if the SEO department won an argument), or is very short (if the UX/UI department wins).

For image uploads, alternative text input fields are beginning to appear. For example, on Twitter, you can add a caption text for an image you upload. Added captions make images more accessible - to humans and machines alike.

But why don't we routinely create multiple variants of a title itself? In the data model?

If you design the software for authoring this title content, nobody holds you back from displaying some input fields more. So if something in your data (let's say, a product) has a title attribute, how about letting your editors add variants of this title, too?

"},{"location":"best-practices/copytext-accessibility/#three-fresh-alternative-strings-for-your-consideration","title":"Three fresh alternative strings for your consideration","text":""},{"location":"best-practices/copytext-accessibility/#1-visually-polished-alternative-text-shorttitle","title":"1. Visually polished alternative text: shortTitle","text":"

This shortened name contains a shortcut, visually improved version of the original string. If you are lucky, there is a chance to auto-generated from the original extended title.

Go wild! Use Unicode or Emojis to shorten this version as much as possible, for example.

Having a short version of everything allows to fit more content on viewports. It yields uncluttered list UIs that are easy to parse visually. As you have variants, you can still show the variant with higher level of detail when needed.

"},{"location":"best-practices/copytext-accessibility/#2-alternative-text-for-text-to-speech-ttstitle","title":"2. Alternative text for text-to-speech: ttsTitle","text":"

This alternative text variant is made for text-to-speech assistants and search. Abbreviations are forbidden. You can't control the input data, but know the domain? Let the computer produce this alternative text: by replacing the most frequently used abbreviations from your business field with written words.

Why does this matter?

Abbreviations like the shortTitle proposal above make your UI easier to parse \u2013 but only visually. They break it for voice assistant users, though: While assistants do come with built-in intelligence to produce speech with a human-sounding intonation, they lack awareness of meaning. To them, a full-stop character can look like a sentence end. Imagine a 'sentence end' intonation and spoken pause in the middle of a product name, or an actual sentence. The text won't make any sense.

If you want to realize a search feature or make your content accessible to a search engine, non-abbreviated content works much better. You can reuse the speakable alternative text as a tooltip. This helps your seeing users to understand what your abbreviations mean.

Including fully speakable variants of your text makes your content useful and discoverable for Google Assistant, Amazon Alexa, Microsoft Cortana, Apple Siri, and even for search engines in general.

"},{"location":"best-practices/copytext-accessibility/#3-plain-language-alternative-text-plainlanguagetitle","title":"3. Plain language alternative text: plainLanguageTitle","text":"

Not everybody has the same level of language comprehension.

If you have titles describing complicated things: Do they exclude people who are no native speakers, have a learning impairment, or can't read? It can be a good idea to add a plain language variant in your data.

Alternatively, add a review step to your content authoring workflow to ensure that your strings are understandable.

"},{"location":"best-practices/copytext-accessibility/#what-does-non-optimized-copytext-sound-like","title":"What does non-optimized copytext sound like?","text":"

Imagine you'd design a web-based, magic, but entirely realistic railway departures display.

The HTML code could look like this:

<h1>King\u2019s Cross</h1>\n<ul>\n    <li>Pl. 9 3/4 -> Hogsmeade</li>\n    <li>Pl. 10 -> Eaglescliffe</li>\n</ul>\n

Do you have a working sense of hearing? Then listen to a voice assistant reading this sign aloud. If you are near a Mac, open your Terminal app and enter this:

say -v Dan \"Pl. 9 3/4 -> Hogsmeade\"

Then press Enter. Experience the cringy but mystifying situation of a British passenger listening to their VoiceOver assistant, which states aloud: \"Pee Ell Nine. Three Stroke Four to Hogsmeade.\" It sounds like an intriguing riddle! The pronunciation \"Platform nine three quarters to Hogsmeade\" would make more sense, however. It would assist the rider to reach the picturesque little village in time. \ud83e\uddd9\u200d\u2640\ufe0f

With some typographic polishing and accessibility labels, we achieve a visual and auditory improvement:

<h1>King\u2019s Cross</h1>\n<ul>\n    <!-- Uses the `ttsTitle` field mentioned above -->\n    <li aria-label=\"Platform Nine and Three Quarters, to Hogsmeade\">\n        <!-- Uses the `shortTitle` field mentioned above -->\n        Pl. 9 3\u20444 \u2192 Hogsmeade\n    </li>\n    <li aria-label=\"Platform 10, to Eaglescliffe\">\n        Pl. 10 \u2192 Eaglescliffe\n    </li>\n</ul>\n

Of course, the data behind this has to be entered manually. Entering text twice or three times costs a more time for each entered title. But compare this to your other UX-related efforts: This change is reasonable and straightforward, and those seconds can save the day for a user!

By the way: A transit app developer building a real display like the one above would probably source the data from a public GTFS dataset (GTFS is the most common data format for public transit information). Did you know this data format supports text-to-speech variants of names and titles. A good idea to copy!

For voice assistants, there is SSML, a markup language to describe how synthetic speech should sound like. A W3C task force wants to bring pronunciation features to HTML. Both markup languages even allow to fine-tune the voice's emotion.

If voice assistants are about to play a bigger role in our daily lives, getting emotional tonality right could turn out to be a competitive advantage.

Now is a good time to prepare for this.

"},{"location":"best-practices/describe-objects-not-people/","title":"Describe objects, not people","text":"

Here's the tl/dr. When designing accessibility-related apps or surveys,

"},{"location":"best-practices/describe-objects-not-people/#embrace-complexity","title":"Embrace complexity","text":"

While building Wheelmap.org, we learned that collecting \u2018yes/no/partial\u2019 attributes is not enough to be helpful. The world is complex. Personal abilities vary.

UX minimalism and efficiency are often cited when it comes to condensing the number of options in a UI. After all, doing so leads to better accessibility because your app gets simpler to use!

But it shouldn\u2019t come at the cost of meaning. If you design a restaurant finder, it should feel simple and look great, but the accessibility facts you display must be accurate and not misleading. While there is a always a trade-off between high level of detail and simplicity, at least the raw data you collect should include measurable properties. Interpretation can happen later, in a separate step.

"},{"location":"best-practices/describe-objects-not-people/#assume-less","title":"Assume less","text":"

While analyzing data sets, we sometimes stumble upon data that characterizes a place as being (not) accessible for a specified target group with the best intentions. Claims include:

Superficially, these statements look helpful. But they aren\u2019t:

A rule of thumb: for good data quality, leave the decision what's accessible to your users. Surveying and showing measurable, countable, observable criteria is better than trying to \u2018help\u2019 people by pre-interpreting it.

Doing so has a pleasant side effect: It\u2019s much easier to agree on a countable measurement like \u201cthe main entrance has 2 steps\u201d than on a fuzzy term like \u201cpartially accessible.\u201d

"},{"location":"best-practices/rating-scales/","title":"Rating scales","text":"

If possible, avoid UIs that only display a rating scale and no details. While a rating scale can help ranking places, it doesn't fit the use case of matching accessibility offers and individual needs very well.

"},{"location":"describing-objects/0-quantities/","title":"Quantities","text":"

Accessibility survey data often contains unclear or aggregated definitions of quantities.

A11yJSON represents quantities either as string or as Quantity object with separate properties for value and unit. Both of the following definitions are valid and have the same meaning:

{\n\"door\": {\n\"width\": \"90 cm\",\n}\n}\n
{\n\"door\": {\n\"width\": {\n\"value\": 90,\n\"unit\": \"cm\"\n}\n}\n}\n

When you supply a string, any value + unit string that js-quantities supports as input is valid. Imperial or metric units, both works.

As the data representation is SI-unit based, you can use the resulting data with any system that supports SI units:

Besides value and unit, you can save the original data value as string representation as rawValue to debug conversion errors. When saving quantities, you have to specify them including their unit. You can provide measures as fixed quantities, but also with constraints and variance (uwing the accuracy field). This helps

"},{"location":"describing-objects/constants/","title":"Constants","text":"

Besides interfaces and bare types, A11yJSON defines the following constants.

Some lack proper formatting in the documentation. Fixes in tools/generate-overview.ts are welcome!

"},{"location":"describing-objects/constants/#accelerationschema","title":"AccelerationSchema","text":"

SimpleSchema from the @sozialhelden/simpl-schema NPM package.

"},{"location":"describing-objects/constants/#accelerationschemadefinition","title":"AccelerationSchemaDefinition","text":"

Validates a acceleration quantity object and will only accept acceleration units, eg. meter/second^2, miles/hour^2. Useful to describe the acceleration of a vehicle, or the acceleration that a person is subjected to.

SchemaDefinition from the @sozialhelden/simpl-schema NPM package.

"},{"location":"describing-objects/constants/#accesstypes","title":"AccessTypes","text":"

Read-only tuple with 15 strings:

"},{"location":"describing-objects/constants/#basequantityschema","title":"BaseQuantitySchema","text":"

SimpleSchema from the @sozialhelden/simpl-schema NPM package.

"},{"location":"describing-objects/constants/#brightnessschema","title":"BrightnessSchema","text":"

SimpleSchema from the @sozialhelden/simpl-schema NPM package.

"},{"location":"describing-objects/constants/#brightnessschemadefinition","title":"BrightnessSchemaDefinition","text":"

Validates a brightness descriptor and will only accept brightness units, eg. nits or lumens.

SchemaDefinition from the @sozialhelden/simpl-schema NPM package.

"},{"location":"describing-objects/constants/#deskinteractions","title":"DeskInteractions","text":"

Read-only tuple with 20 strings:

"},{"location":"describing-objects/constants/#deskinteractionsset","title":"DeskInteractionsSet","text":"

Set<One of the following strings:

changeHeight checkIn checkOut close enqueue getFood getReturn getShoppingBag handover handoverLuggage lock open openAndClose pay ringBell savePreset scan selfCheckout unlock unlockAndLock

>

"},{"location":"describing-objects/constants/#directionaxes","title":"DirectionAxes","text":"

Describes a physical direction axis relative to a person\u2019s body.

Read-only tuple with 3 strings:

"},{"location":"describing-objects/constants/#directions","title":"Directions","text":"

Describes physical directions, from the perspective of a person facing forward.

Read-only tuple with 8 strings:

"},{"location":"describing-objects/constants/#doorinteractions","title":"DoorInteractions","text":"

Read-only tuple with 7 strings:

"},{"location":"describing-objects/constants/#doorinteractionsset","title":"DoorInteractionsSet","text":"

Set<One of the following strings:

close lock open openAndClose ringDoorbell unlock unlockAndLock

>

"},{"location":"describing-objects/constants/#equipmentinteractions","title":"EquipmentInteractions","text":"

Read-only tuple with 21 strings:

"},{"location":"describing-objects/constants/#equipmentinteractionsset","title":"EquipmentInteractionsSet","text":"

Set<One of the following strings:

arriveAtFloor buy call callEmergency disable enable engage findYourDestination flush getTreatment handover locateYourself ride scan selectFloor sell sleep toggle travel understand use

>

"},{"location":"describing-objects/constants/#equipmenttypes","title":"EquipmentTypes","text":"

Read-only tuple with 23 strings:

"},{"location":"describing-objects/constants/#forceschema","title":"ForceSchema","text":"

SimpleSchema from the @sozialhelden/simpl-schema NPM package.

"},{"location":"describing-objects/constants/#forceschemadefinition","title":"ForceSchemaDefinition","text":"

Validates a force quantity object and will only accept force units, eg. newton, or kilogram*meter/second^2.

SchemaDefinition from the @sozialhelden/simpl-schema NPM package.

"},{"location":"describing-objects/constants/#genericinteractions","title":"GenericInteractions","text":"

Read-only tuple with 27 strings:

"},{"location":"describing-objects/constants/#genericinteractionsset","title":"GenericInteractionsSet","text":"

Set<One of the following strings:

arrive book buy change checkIn checkOut eat explore getFood getService getTreatment listen pay play read rent roam see sell use useLockers useService visit watch watchMovies watchPlays workHere

>

"},{"location":"describing-objects/constants/#grabbarsinteractions","title":"GrabBarsInteractions","text":"

Read-only tuple with 5 strings:

"},{"location":"describing-objects/constants/#grabbarsinteractionsset","title":"GrabBarsInteractionsSet","text":"

Set<One of the following strings:

adjust findYourDestination foldDown foldUp localizeYourself

>

"},{"location":"describing-objects/constants/#hertzschema","title":"HertzSchema","text":"

SimpleSchema from the @sozialhelden/simpl-schema NPM package.

"},{"location":"describing-objects/constants/#hertzschemadefinition","title":"HertzSchemaDefinition","text":"

Validates a frequency quantity object and will only accept frequency units, eg. hertz.

SchemaDefinition from the @sozialhelden/simpl-schema NPM package.

"},{"location":"describing-objects/constants/#intercominteractions","title":"IntercomInteractions","text":"

Read-only tuple with 6 strings:

"},{"location":"describing-objects/constants/#intercominteractionsset","title":"IntercomInteractionsSet","text":"

Set<One of the following strings:

call close hangUp identify open ring

>

"},{"location":"describing-objects/constants/#lengthschema","title":"LengthSchema","text":"

SimpleSchema from the @sozialhelden/simpl-schema NPM package.

"},{"location":"describing-objects/constants/#lengthschemadefinition","title":"LengthSchemaDefinition","text":"

Validates a length quantity object and will only accept length units, eg. meter, centimeter or inch.

SchemaDefinition from the @sozialhelden/simpl-schema NPM package.

"},{"location":"describing-objects/constants/#massschema","title":"MassSchema","text":"

SimpleSchema from the @sozialhelden/simpl-schema NPM package.

"},{"location":"describing-objects/constants/#massschemadefinition","title":"MassSchemaDefinition","text":"

Validates a mass quantity object and will only accept mass/weight units, eg. kilogram, gram or pound.

SchemaDefinition from the @sozialhelden/simpl-schema NPM package.

"},{"location":"describing-objects/constants/#mediainteractions","title":"MediaInteractions","text":"

Read-only tuple with 11 strings:

"},{"location":"describing-objects/constants/#mediainteractionsset","title":"MediaInteractionsSet","text":"

Set<One of the following strings:

browse close discover feel interact listen open read recognize rent watch

>

"},{"location":"describing-objects/constants/#mediatypeset","title":"MediaTypeSet","text":"

Set<One of the following strings:

document exhibit form guide menu movie play presentation screen tour website

>

"},{"location":"describing-objects/constants/#mediatypes","title":"MediaTypes","text":"

Read-only tuple with 11 strings:

"},{"location":"describing-objects/constants/#mirrorinteractions","title":"MirrorInteractions","text":"

Read-only tuple with 5 strings:

"},{"location":"describing-objects/constants/#mirrorinteractionsset","title":"MirrorInteractionsSet","text":"

Set<One of the following strings:

adjust clean move turn use

>

"},{"location":"describing-objects/constants/#operators","title":"Operators","text":"

The allowed operators for comparison quantities

Read-only tuple with 9 strings:

"},{"location":"describing-objects/constants/#parkinginteractions","title":"ParkingInteractions","text":"

Read-only tuple with 4 strings:

"},{"location":"describing-objects/constants/#parkinginteractionsset","title":"ParkingInteractionsSet","text":"

Set<One of the following strings:

arrive enterVehicle exitVehicle park

>

"},{"location":"describing-objects/constants/#paymentinteractions","title":"PaymentInteractions","text":"

Read-only tuple with 5 strings:

"},{"location":"describing-objects/constants/#queuesysteminteractions","title":"QueueSystemInteractions","text":"

Read-only tuple with 9 strings:

"},{"location":"describing-objects/constants/#queuesysteminteractionsset","title":"QueueSystemInteractionsSet","text":"

Set<One of the following strings:

arrive checkIn checkOut enqueue getOnesTurn getTicket leaveQueue skipQueue wait

>

"},{"location":"describing-objects/constants/#restroomsignicons","title":"RestroomSignIcons","text":"

Read-only tuple with 10 strings:

"},{"location":"describing-objects/constants/#roominteractions","title":"RoomInteractions","text":"

Read-only tuple with 13 strings:

"},{"location":"describing-objects/constants/#roominteractionsset","title":"RoomInteractionsSet","text":"

Set<One of the following strings:

callEmergency closeWindow enter exit lookAround openWindow play see sit sleep stand storeThings wait

>

"},{"location":"describing-objects/constants/#seatinteractions","title":"SeatInteractions","text":"

Read-only tuple with 22 strings:

"},{"location":"describing-objects/constants/#seatinteractionsset","title":"SeatInteractionsSet","text":"

Set<One of the following strings:

adjust adjustArmRests adjustBackRest adjustFootRest adjustHeadRest adjustHeight adjustLegRest adjustSeatBelt adjustSeatBeltAngle adjustSeatBeltHeight adjustSeatBeltLength adjustSeatBeltLock adjustSeatBeltPosition adjustSeatBeltTension adjustSeatingAngle adjustSeatingSurface connectSeatbelt fold move removeArmrests sit unfold

>

"},{"location":"describing-objects/constants/#showerinteractions","title":"ShowerInteractions","text":"

Read-only tuple with 9 strings:

"},{"location":"describing-objects/constants/#showerinteractionsset","title":"ShowerInteractionsSet","text":"

Set<One of the following strings:

transfer useConditioner useShampoo useShowerCurtain useShowerGel useShowerHead useSoap useSupport wash

>

"},{"location":"describing-objects/constants/#signageinteractions","title":"SignageInteractions","text":"

Read-only tuple with 3 strings:

"},{"location":"describing-objects/constants/#signageinteractionsset","title":"SignageInteractionsSet","text":"

Set<One of the following strings:

findYourDestination locateYourself useSitemap

>

"},{"location":"describing-objects/constants/#slopeschema","title":"SlopeSchema","text":"

SimpleSchema from the @sozialhelden/simpl-schema NPM package.

"},{"location":"describing-objects/constants/#slopeschemadefinition","title":"SlopeSchemaDefinition","text":"

Validates a slope quantity object and will only accept units to descrie a slope, eg. degrees.

SchemaDefinition from the @sozialhelden/simpl-schema NPM package.

"},{"location":"describing-objects/constants/#smoothnesstypevalues","title":"SmoothnessTypeValues","text":"

Read-only tuple with 9 strings:

"},{"location":"describing-objects/constants/#speedschema","title":"SpeedSchema","text":"

SimpleSchema from the @sozialhelden/simpl-schema NPM package.

"},{"location":"describing-objects/constants/#speedschemadefinition","title":"SpeedSchemaDefinition","text":"

Validates a speed quantity object and will only accept speed units, eg. meter/second, miles/hour or similar.

SchemaDefinition from the @sozialhelden/simpl-schema NPM package.

"},{"location":"describing-objects/constants/#surfacetypevalues","title":"SurfaceTypeValues","text":"

Read-only tuple with 158 strings:

"},{"location":"describing-objects/constants/#temperatureschema","title":"TemperatureSchema","text":"

SimpleSchema from the @sozialhelden/simpl-schema NPM package.

"},{"location":"describing-objects/constants/#temperatureschemadefinition","title":"TemperatureSchemaDefinition","text":"

Validates a temperature quantity object and will only accept temperature units, eg. degrees celsius (degC), degrees Fahrenheit (degF) or kelvin (K).

SchemaDefinition from the @sozialhelden/simpl-schema NPM package.

"},{"location":"describing-objects/constants/#timeintervalschema","title":"TimeIntervalSchema","text":"

SimpleSchema from the @sozialhelden/simpl-schema NPM package.

"},{"location":"describing-objects/constants/#timeintervalschemadefinition","title":"TimeIntervalSchemaDefinition","text":"

Validates a timer interval object and will only accept time units, eg. seconds, minutes or hours.

SchemaDefinition from the @sozialhelden/simpl-schema NPM package.

"},{"location":"describing-objects/constants/#toiletinteractions","title":"ToiletInteractions","text":"

Read-only tuple with 4 strings:

"},{"location":"describing-objects/constants/#toiletinteractionsset","title":"ToiletInteractionsSet","text":"

Set<One of the following strings:

flush secondaryFlush spray use

>

"},{"location":"describing-objects/constants/#unitlessschema","title":"UnitlessSchema","text":"

SimpleSchema from the @sozialhelden/simpl-schema NPM package.

"},{"location":"describing-objects/constants/#unitlessschemadefinition","title":"UnitlessSchemaDefinition","text":"

SchemaDefinition from the @sozialhelden/simpl-schema NPM package.

"},{"location":"describing-objects/constants/#urgencies","title":"Urgencies","text":"

Read-only tuple with 5 strings:

"},{"location":"describing-objects/constants/#volumeschema","title":"VolumeSchema","text":"

SimpleSchema from the @sozialhelden/simpl-schema NPM package.

"},{"location":"describing-objects/constants/#volumeschemadefinition","title":"VolumeSchemaDefinition","text":"

Validates a sound volume quantity object and will only accept sound volume units, eg. decibel.

SchemaDefinition from the @sozialhelden/simpl-schema NPM package.

"},{"location":"describing-objects/constants/#washbashininteractions","title":"WashBashinInteractions","text":"

Read-only tuple with 13 strings:

"},{"location":"describing-objects/constants/#washbasininteractionsset","title":"WashBasinInteractionsSet","text":"

Set<One of the following strings:

changeTemperature changeWaterPressure getCarbonizedWater getColdWater getHotWater getPaperTowel getTowel sanitizeHands useAirDryer useSoap useWater useWaterJet useWaterSpray

>

"},{"location":"describing-objects/constants/#wheelchairaccessibilitygrades","title":"WheelchairAccessibilityGrades","text":"

Describes the general wheelchair accessibility of the place. This is a human-rated value. It SHOULD conform to the traffic light system found in OpenStreetMap and Wheelmap.org.

Read-only tuple with 3 strings:

"},{"location":"describing-objects/constants/#wifiinteractions","title":"WifiInteractions","text":"

Read-only tuple with 6 strings:

"},{"location":"describing-objects/constants/#wifiinteractionsset","title":"WifiInteractionsSet","text":"

Set<One of the following strings:

acceptTerms getGuestPass getPassword getTerms login register

>

"},{"location":"describing-objects/constants/#smokingpolicies","title":"smokingPolicies","text":"

Describes smoking policies for visitors of a place.

Read-only tuple with 6 strings:

"},{"location":"describing-objects/interfaces/","title":"Interfaces","text":"

This is a list of data structures that A11yJSON specifies.

They are meant to be interfaces in the software development sense: This means you can either use them as they are, or mix them into your own entity definitions.

"},{"location":"describing-objects/interfaces/#accessibility","title":"Accessibility","text":"

Describes the physical (and sometimes human rated) accessibility of a place.

NameTypeaccessibleWithPersonalProfileambientNoiseLevelVolume

Ambient noise level in dB(A) relative to a reference pressure of 0.00002 Pa. Median over a 10-second period at least.

animalPolicyAnimalPolicy

Object describing the owner's policy regarding visitors bringing animals with them.

appointmentPoliciesAppointmentPolicy[]

Describes how you can get an appointment for this place, or if you need one.

availableEquipmentundefined\u00a0|\u00a0EquipmentProperties[]

Information about the place's equipment.

Use this property for equipment that does not need to be locatable in a specific geolocation, but belongs to a place.

desksundefined\u00a0|\u00a0Desk[]

Describes the accessibility of desks in the place. null indicates there are no desks, undefined or missing property indicates unknown.

entrancesundefined\u00a0|\u00a0Entrance[]

Describes the accessibility of entrances to the place.

hasAirConditioningboolean

Determines if there is air conditioning installed and actively used.

hasBrailleSignageboolean

true if there is braille navigation for/to this place, false if not.

hasInductionLoopboolean

true if the venue has induction loops installed in its functional units where this is relevant.

hasLowStimulusEnvironmentboolean

true if the venue has a designated low-stimulus room or environment, false if not. Can help with hypersensitivity to sensory input.

hasPatientLifterboolean

true if the venue has a patient lifter (MedTech) installed, false if not..

hasSoundAbsorptionboolean

Determines if there is sound absorption installed.

hasTactileGuideStripsboolean

true if the venue has tactile guide strips on the floor or at the walls, false if not. undefined or missing property indicates unknown.

hasTactileSignageboolean

true if there is tactile navigation for/to this place, false if not.

interactions Object with one or more of these keys:

arrive book buy change checkIn checkOut eat explore getFood getService getTreatment listen pay play read rent roam see sell use useLockers useService visit watch watchMovies watchPlays workHere

Values must be of type InteractionMode.

An object that indicates how the object can be interacted with.

The keys of this object are the interaction types, and the values are InteractionMode objects.

isQuietboolean

Determines if the venue is quiet (subjectively, by the assessor). If possible, use the ambientNoiseLevel property instead.

isWellLitboolean

Determines if the venue is well lit (subjectively, by the assessor). Will be replaced by a measurable lumen value in the future.

mediaundefined\u00a0|\u00a0Media[]

Information about media. null indicates there is no media, undefined or missing property indicates unknown.

offersActivitiesForPeopleWithPersonalProfileoffersTreatmentWithoutLeavingWheelchairboolean

true for healthcare providers that offer that wheelchair users do not have to leave their wheelchair for treatment, false if this is not possible.

parkingundefined\u00a0|\u00a0Parking

Information about parking facilities at/around the venue. null indicates there is no parking, undefined or missing property indicates unknown.

partiallyAccessibleWithPersonalProfilepathwaysundefined\u00a0|\u00a0Pathways

Describes the accessibility of pathways to the place or inside the place\u2019s boundaries (mixed)

pathwaysFromEntranceundefined\u00a0|\u00a0Pathways

For places inside other places (e.g. a room inside a building).

Describes the accessibility of pathways to the place. If an extra accessible entrance exists, describe pathways from there to this place.

pathwaysInsideundefined\u00a0|\u00a0Pathways

Describes the accessibility of pathways to the place or inside the place\u2019s boundaries (mixed)

paymentundefined\u00a0|\u00a0Payment

Information about payment at the place. null indicates there is no payment possible/required, undefined or missing property indicates unknown.

queueSystemundefined\u00a0|\u00a0QueueSystem

Information about the place's queue system.

restroomsundefined\u00a0|\u00a0Restroom[]

Describes the accessibility of restrooms that belong to the place.

roomsundefined\u00a0|\u00a0Room[]

Describes the accessibility of rooms that belong to the place.

serviceContactLocalizedStringsignageSystemsSignage[]

Describes local signage systems. If multiple different systems are used, describe them all.

smokingPolicyOne of the following strings:

allowedEverywhere dedicatedToSmoking inIsolatedArea inSeparateArea onlyOutside prohibited

Object describing the owner's smoking policy.

staffundefined\u00a0|\u00a0Staff

Information about the service staff. null indicates there is no staff, undefined or missing property indicates unknown.

surfaceundefined\u00a0|\u00a0Surface

Object describing the place's ground condition. If there are very different ground conditions, you can create multiple places and nest them.

tablesundefined\u00a0|\u00a0Desk[]

Information about tables (for example in a restaurant). null indicates there are no tables, undefined or missing property indicates unknown.

wheelchairAccessibilityGradeOne of the following strings:

fully not partially

Describes the general wheelchair accessibility of the place. This is a human-rated value.

wheelchairPlacesundefined\u00a0|\u00a0WheelchairPlaces

Information about wheelchair places. null indicates there are no places, undefined or missing property indicates unknown.

wifiWifiAccessibility

Describes the Wifi availability and accessibility at the place.

"},{"location":"describing-objects/interfaces/#actionmode","title":"ActionMode","text":"

Describes necessary abilities and modes inputting information.

NameTypeaccessArray of one or more of these strings:

customers delivery designated disabled emergency employees no permissive permit private public residents yes

Who has access to this action?

activationForceForce

Force needed for the described input method.

activationTimeIntervalTimeInterval

Time interval needed for activation/engagement.

apiDocumentationUrlLocalizedString

The input API documentation URL.

attentionSpanTimeInterval

Attention time needed for activation/engagement.

bodyHeightLength

A supported body height.

bodyMassMass

A supported body weight.

brailleKeyboardboolean

The ability to write textual content with a braille keyboard is supported or needed.

brailleTextboolean

The ability to read braille is supported or needed.

burnHazardboolean

There is a burn hazard.

cableboolean

A cable is supported or needed.

capacitiveboolean

The action uses a capacity sensor, for example a touch sensor.

clapboolean

Clapping your hands is supported or needed.

clickboolean

The ability to click a button with a finger is supported or needed.

descriptionLocalizedString

Describes the output as human-readable text.

directionOne of the following strings:

backward clockwise counterclockwise down forward left right up

The direction of the action, relative to the body.

directionAxisOne of the following strings:

axial coronal sagittal

The direction axis of the action, relative to the body.

doubleClickboolean

The ability to click a button with a finger is supported or needed.

dragboolean

The ability to drag an object is supported or needed.

dragAndDropGestureboolean

The ability to do a virtual drag-and-drop finger/mouse gesture is supported or needed.

educationLevelNumber

Education level needed to understand the action.

http://www.ibe.unesco.org/en/glossary-curriculum-terminology/l/levels-education

eyeTrackerboolean

The ability to use an eye tracker is supported or needed.

faceRecognitionboolean

The input uses face recognition.

feedbackPerceptionMode

How is feedback given for an input?

fingerprintScanboolean

The input uses a fingerprint scanner.

handwritingboolean

The ability to write textual content by hand is supported or needed.

hapticboolean

Haptic input is supported or needed.

headPointerboolean

The ability to use a head pointer is supported or needed.

headphoneboolean

Headphones are supported or needed.

highContrastboolean

The input has high contrast elements, for example around buttons.

instructionsUrlLocalizedString

URL describing how to use the input mechanism.

irisScanboolean

The input uses an iris scanner.

isEasyToFindboolean

true if the item is easy to find, false if people might face difficulties trying to find the item, or undefined if this is unknown or irrelevant.

isEasyToUnderstandboolean

true if the input is easy to understand, false if people might face difficulties trying to understand how the input works, or undefined if this is unknown or irrelevant.

joystickboolean

The ability to use a joystick is supported or needed.

keyboardboolean

The ability to write textual content by typing on a keyboard is supported or needed.

keypadboolean

The ability to write numbers by typing on a keypad is supported or needed.

knobboolean

The action uses a knob.

knurledboolean

The input has a knurled surface, for example around buttons.

languagesstring[]

Input languages supported.

leftHandedboolean

You can or must give input with your left hand.

lickboolean

The ability to lick an object with your tongue is supported or needed (e.g. a lollipop)

morseCodeboolean

Morse code input is supported or needed.

mouseboolean

The ability to use a mouse is supported or needed.

moveboolean

The ability to move an object is supported or needed.

nameLocalizedString

Describes which output is meant. Helpful if there are multiple outputs.

necessaryClimbHeightLength

Height you need to be able to climb over (for obstacles)

necessaryEyeHeightLength

How tall do you have to be to perceive the content/output/signal.

necessaryGripHeightLength

The height you need to grip to perceive the content/output/signal.

optionalboolean

true if the action is optional, false if it is required.

paperboolean

Handling paper is supported or needed.

pedalboolean

The ability to use a pedal is supported or needed.

photoboolean

The input makes a photo.

pinchboolean

The ability to pinch an object is supported or needed.

pinchFingerGestureboolean

The ability to use a pinch finger gesture is supported or needed.

pressboolean

The ability to apply force to an object is supported or needed.

pullSwitchboolean

The ability to use a pull switch is supported or needed.

pullstringboolean

The ability to use a pullstring is supported or needed.

pushButtonboolean

The ability to use a push button is supported or needed.

pushSwitchboolean

The ability to use a push switch is supported or needed.

qrCodeboolean

A QR code is supported or needed.

raisedTextboolean

true if the controls or signs have raised letters, false if not.

requiredboolean

false if the action is optional, true if it is required.

rhythmboolean

The ability to use rhythm input is supported or needed.

rightHandedboolean

You can or must give input with your right hand.

rotateboolean

The ability to rotate an object is supported or needed.

rotateTwoFingersGestureboolean

The ability to use a two-finger rotation gesture is supported or needed.

scratchboolean

The ability to scratch is supported or needed.

screenboolean

A screen is supported or needed.

signLanguageboolean

The ability to use sign language is supported or needed.

singleHandedboolean

You can or must give input with one hand.

sipAndPuffboolean

The ability to use a sip and puff switch is supported or needed.

smellboolean

The ability to smell is supported or needed.

soundRecordingboolean

The input makes a sound recording.

speakboolean

The ability to speak is supported or needed.

squeezeboolean

The ability to squeeze an object is supported or needed.

stateCountnumber

State count for a button or switch, for example 2 for a toggle button, 3 for a 3-way button.

swipeFingerGestureboolean

The ability to use a swipe finger gesture is supported or needed.

swipeThreeFingersGestureboolean

The ability to use a three-finger swipe gesture is supported or needed.

swipeTwoFingersGestureboolean

The ability to use a three-finger swipe gesture is supported or needed.

tactileboolean

Tactile input is supported or needed.

tactileGuidesboolean

The input has tactile guides, for example around buttons.

tapboolean

The ability to tap an element with a finger is supported or needed.

tearApartboolean

The ability to tear something apart is supported or needed.

techSufficientTechCombination[]

Technology combinations that are sufficient to make use of the output.

techSupportedTechCombination[]

Technologies that are sufficient to make use of the output.

tiltboolean

The ability to tilt an object is supported or needed.

tongueboolean

The ability to move an object with your tongue is supported or needed.

touchboolean

Touch input is supported or needed.

touchscreenboolean

Touchscreen input is supported or needed.

trackballboolean

The ability to use a trackball is supported or needed.

tripleClickboolean

The ability to click a button with a finger is supported or needed.

turnboolean

The ability to turn an object is supported or needed.

turnKnobboolean

The ability to turn a knob is supported or needed.

twoHandedboolean

You can or must give input with both hands.

urlLocalizedString

URL where you can use the input mechanism, e.g. on your phone.

videoboolean

The input makes a video.

visualRecognitionboolean

true if the input user interface needs or supports visual input, false if not.

voiceActivationboolean

true if the control is activated by voice, false if not.

walkboolean

Walking is supported or needed.

waveboolean

Waving your hands is supported or needed.

weightMass

A weight you need to be able to lift.

wheelboolean

The input features a wheel.

wirelessboolean

The input is wireless.

"},{"location":"describing-objects/interfaces/#animalpolicy","title":"AnimalPolicy","text":"NameTypeallowsAssistanceDogsboolean

true if the place allows visitors to bring assistance dogs, false if bringing them is explicitly prohibited, undefined if the policy is unknown.

allowsDogsboolean

true if the place allows visitors to bring dogs in general, false if bringing them is explicitly prohibited (with exception of dogs specified by allowsGuideDogs and allowsTherapyAnimals), undefined if the policy is unknown.

allowsGuideDogsboolean

true if the place allows visitors to bring guide dogs, false if bringing them is explicitly prohibited, undefined if the policy is unknown.

allowsServiceAnimalsboolean

true if the place allows bringing any kind of animal, false or undefined if not or if there are exceptions.

dogsNeedMuzzleboolean

true if the place denies entry to visitors bringing a dogs without muzzles, false if dogs without muzzles are explicitly allowed.

suppliesWaterForPetsboolean

true if the place supplies water for accompanying animals, false if explicitly not, or undefined if unknown.

"},{"location":"describing-objects/interfaces/#appointmentpolicy","title":"AppointmentPolicy","text":"NameTypeaccessArray of one or more of these strings:

customers delivery designated disabled emergency employees no permissive permit private public residents yes

Who can make this kind of appointment.

allowsWalkInboolean

true if you need no appointment to visit the place.

bookingURLstring

The URL to a page where the appointment can be booked.

descriptionLocalizedString

Describes this policy as text string, e.g. \u2018home visits possible if you are over 60\u2019. Use the other fields only if the described place has only one typical policy (like at a hairdresser).

equipmentPropertiesEquipmentProperties

If the appointment needs a specific equipment, it is described here.

feesCurrencyValue[]

The amount of money that is charged for the appointment.

homeVisitboolean

true if the appointment can be at the person\u2019s home.

inPersonOnSiteboolean

true if the appointment can be made in person.

interactions Object with one or more of these keys:

arrive book buy change checkIn checkOut eat explore getFood getService getTreatment listen pay play read rent roam see sell use useLockers useService visit watch watchMovies watchPlays workHere

Values must be of type InteractionMode.

An object that indicates how the object can be interacted with.

The keys of this object are the interaction types, and the values are InteractionMode objects.

languagesstring[]

The languages that are spoken by the person who is responsible for the appointment.

limitationsDescriptionLocalizedString

Describes limitations that apply to this policy, e.g. \u2018only for people with a disability\u2019.

needsAppointmentForAssistantboolean

true if appointments with an assistant are possible, but need to be booked separately.

openingHoursstring

Opening hours in the format described at https://wiki.openstreetmap.org/wiki/Key:opening_hours.

paymentTypesPayment[]

The payment method that is used to pay the amount of money. Use fees instead, if possible.

phoneCallboolean

true if the appointment can be made by video call.

seatSeat

If a seat is associated with this appointment, it is described here.

seatCountnumber

How many seats are available for this appointment.

videoCallboolean

true if the appointment can be made by video call.

"},{"location":"describing-objects/interfaces/#currencyvalue","title":"CurrencyValue","text":"

Describes an amount of paid money in a specific currency, per specified unit, for a specific kind of access to a service or product.

Can represent free availability, by setting amount to 0, and not defining currency.

Don't use this for very small amounts of money (like sub-cent dollar amounts) as this uses no BigDecimal arithmetic.

The amount property is required.

NameTypeaccessArray of one or more of these strings:

customers delivery designated disabled emergency employees no permissive permit private public residents yes

For whom is this amount of money paid?

amount*number

The amount of money.

currencystring

The currency in which the amount is specified, as three-letter acronym.

Can be undefined if the amount is zero.

paymentTypesPayment[]

The payment method that is used to pay the amount of money.

perQuantity

Unit that is paid with the amount of money, e.g. \"30 minutes\", \"1 hour\", '1 GB', '3 pieces'

"},{"location":"describing-objects/interfaces/#desk","title":"Desk","text":"

Describes a desk / table / cash desk / reception counter.

NameTypedepthBelowLength

How much space is there under the desk? This can be used to determine if a wheelchair user can sit at the desk.

fixedHeightLength

How high is the desk? For variable-height desks, use minimalHeight and maximalHeight instead.

This can be used to determine if a wheelchair user can sit at the desk.

fixedHeightBelowLength

How much space is there below the desk? This can be used to determine if a wheelchair user can sit at the desk.

interactions Object with one or more of these keys:

changeHeight checkIn checkOut close enqueue getFood getReturn getShoppingBag handover handoverLuggage lock open openAndClose pay ringBell savePreset scan selfCheckout unlock unlockAndLock

Values must be of type InteractionMode.

An object that indicates how the object can be interacted with.

The keys of this object are the interaction types, and the values are InteractionMode objects.

intercomundefined\u00a0|\u00a0Intercom

Information about an intercom at this desk, if applicable.

null indicates there is no intercom.

isRollUnderboolean

true if the desk can be rolled under, false if not. This can be used to determine if a wheelchair user can sit at the desk.

maximalHeightLength

How high is the desk maximally? This is only for variable-height desks. Use fixedHeight for fixed-height desks. This can be used to determine if a wheelchair user can sit at the desk.

minimalHeightLength

How high is the desk minimally? This is only for variable-height desks. Use fixedHeight for fixed-height desks. This can be used to determine if a wheelchair user can sit at the desk.

nameLocalizedString

Name of the entrance (helpful if there are multiple entrances).

paymentundefined\u00a0|\u00a0Payment

Information about payment at this desk.

null indicates there is no payment possible/required.

queueSystemQueueSystem

Describes an associated queue system.

turningSpaceInFrontLength

How much space is there in front of the desk? This can be used to determine if a wheelchair user can sit at the desk.

widthBelowLength

How much space is there below the desk? This can be used to determine if a wheelchair user can sit at the desk.

"},{"location":"describing-objects/interfaces/#door","title":"Door","text":"

Describes the door of a place's entrance or to one of its facilities (e.g. to a shower, or to an elevator)

NameTypeaccessArray of one or more of these strings:

customers delivery designated disabled emergency employees no permissive permit private public residents yes

Defines who this door is for. See https://wiki.openstreetmap.org/wiki/Key:access for more information.

colorsstring[]

Describes the colors of the door itself, as HTML color strings. Don't include the door frame or door marking colors in this attribute, but use markingColors and doorFrameColors instead.

This can make the door easier to find.

If there are multiple colors, it might be enough to describe the most dominant one.

If there are multiple colors, but there is no predominant color, describe all of them.

This allows to determine the contrast to the wall and the door frame.

Its best to determine the color at daylight.

For glass doors, you can use 'transparent' as color.

doorFrameColorsstring[]

Describes the colors of the door frame, if existent. If they are similar, describe only one color. Use HTML color strings here.

This can make the door easier to find, and allows to determine the contrast to the door and the wall.

If there are multiple colors, it might be enough to describe the most dominant one.

If there are multiple colors, but there is no predominant color, describe all of them.

Its best to determine the color at daylight.

doorOpensToOutsideboolean

true if the door opens to the outside, false if it opens to the inside.

doorbellTopButtonHeightLength

Height of the door bell's top button. If there is a lowered extra door bell (often marked with a wheelchair user symbol), use the height of this one's top button.

grabBarsGrabBars

Describes grab bars in front of the door.

hasClearMarkingOnGlassDoorboolean

true if the door is a glass door, but is marked, false if the door is an unmarked glass door, undefined if it is no glass door or the condition is unknown.

hasErgonomicDoorHandleboolean

true if the door's handle is easy to use (subjectively by the assessor), false if not.

hasIntercomboolean

true if the door has an intercom system, false if not.

hasProximitySensorboolean

true if the door has a proximity sensor that triggers the opening mechanism, false if not.

hasSwitchboolean

true if the door has a switch that triggers the opening mechanism, false if not.

hasVisuallyContrastedFrameboolean

true if the door frame is visually contrasted to its surrounding wall, false if not.

interactions Object with one or more of these keys:

close lock open openAndClose ringDoorbell unlock unlockAndLock

Values must be of type InteractionMode.

An object that indicates how the object can be interacted with.

The keys of this object are the interaction types, and the values are InteractionMode objects.

intercomIntercom

Describes the intercom system of the door.

isAlwaysOpenboolean

true if the door is there, but always open, false if not.

isAutomaticboolean

true if the door opens automatically, false if not. The mechanism for opening the door is defined in other attributes.

isAutomaticOrAlwaysOpenboolean

true if the door is always open or automatic, false if it has to be opened manually.

isEasyToHoldOpenboolean

true if the door is easy to hold open (subjectively by the assessor), false if not.

isGlassDoorboolean

true if the door is a glass door, false if not.

isRevolvingboolean

true if the door is revolving (like a carousel), false if not.

isSlidingboolean

true if the door is a sliding door, false if not.

isTurnstileboolean

true if the door is a turnstile, false if not.

isVisuallyContrastedboolean

true if the door is visually contrasted to its surrounding wall, false if not.

markingColorsstring[]

Describes the colors of a door marking, if existent, as HTML color strings.

This can make the door easier to find.

If there are multiple colors, it might be enough to describe the most dominant one.

If there are multiple colors, but there is no predominant color, describe all of them.

Its best to determine the color at daylight.

nearbyWallColorsstring[]

Describes the colors of the walls right next the door. Use HTML color strings here.

This can make the door easier to find, and allows to determine the contrast to the door frame and the door.

Its best to determine the color at daylight.

needsDoorbellboolean

true if you need to ring a doorbell to pass the entrance, false if not.

needsEuroKeyboolean

true if you need a Euro key to open the door, false if it's in Europe outside UK and works without a key, undefined if it is unknown or needs a different key.

needsIntercomboolean

true if you need to use the intercom to pass this door, false if not.

needsKeyCardboolean

true if you need to use a keycard to pass the entrance, false if not.

needsKeyPadboolean

true if you need to use a key pad to pass this door, false if not.

needsRadarKeyboolean

true if you need a RADAR key to open the door, false if it's in the UK but you need no key or needs a different key.

needsSwitchToOpenboolean

true if the door needs pressing a switch to open, false if not.

thresholdHeightLength

Height of the door\u2019s threshold / sill / step inside the door frame.

thresholdIsRoundedboolean

true if the threshold has rounded edges, false if not.

turningSpaceInFrontLength

Turning space in front of the door.

widthLength

Width of the door.

"},{"location":"describing-objects/interfaces/#entrance","title":"Entrance","text":"

Describes an entrance to a PlaceInfo.

NameTypegeometryPointGeometry

The physical location of the entrance in WGS84 coordinates. Currently only a GeoJSON PointGeometry is supported.

propertiesEntranceProperties"},{"location":"describing-objects/interfaces/#entranceproperties","title":"EntranceProperties","text":"

Describes an entrance to a place.

NameTypedoorundefined\u00a0|\u00a0Door

Object that describes the entrance\u2019s door. null if there is no door.

elevatorEquipmentIdstring

reference to the equipment id if this entrance is an elevator (on accessibility.cloud)

hasFixedRampboolean

true if this entrance has a fixed ramp, false if not.

hasHoistboolean

true if there is a hoist / wheelchair lift, false if not.

hasRemovableRampboolean

true if there is a removable ramp, false if not. If there is a fixed ramp, this property MUST be undefined.

hasSignageboolean

If this entrance is NOT the main entrance: Is this entrance connected to the main entrance, and is there signage that points to this entrance?

intercomEquipmentIdstring

reference to the equipment id of the intercom of this entrance (on accessibility.cloud)

isLevelboolean

true if this entrance has no steps and needs no ramp, false if there are steps or a ramp.

isMainEntranceboolean

true if this is the main entrance, false if not.

nameLocalizedString

Name of the entrance (helpful if there are multiple entrances).

needsAppointmentboolean

true if you need an appointment to enter, false if not.

placeInfoIdstring

reference to the place that this entrance is connected to (on accessibility.cloud)

slopeAngleSlope

How steep is the ground at the entrance?

stairsStairs

Object that describes stairs that you have to take to use the entrance.

"},{"location":"describing-objects/interfaces/#equipmentinfo","title":"EquipmentInfo","text":"

Describes a facility equipment that is part of a place, like an elevator, an escalator, or a sitemap. Can contain attributes that are realtime updated to indicate operational status.

NameTypegeometryPointGeometry

The physical location of the place in WGS84 coordinates. Currently only a GeoJSON PointGeometry is supported.

propertiesEquipmentProperties"},{"location":"describing-objects/interfaces/#equipmentproperties","title":"EquipmentProperties","text":"NameTypeaccessModestring[]

Access modes supported by this equipment.

accessModeSufficientstring[]

Access mode combinations that allow understanding and using the equipment.

accessibilityControlstring[]

The accessibility controls that allow controlling this equipment.

accessibilityFeaturestring[]

Indicates features that allow understanding or using the equipment.

accessibilityHazardstring[]

Indicates hazards that may be an obstacle to understanding or using the equipment.

alternativeRouteInstructionsLocalizedString

Short alternative routing instructions for travelers when they cannot use this facility.

The text MUST NOT have abbreviations to be readable aloud by a screen reader or voice assistant.

Software using this attribute MUST NOT assume that the equipment is out of operation if it the attribute is defined.

cabinLengthLength

Length / depth of the cabin when facing the equipment\u2019s entrance, or undefined if the equipment has no cabin. For a hoist, this refers to the hoist platform itself.

cabinWidthLength

Width of the cabin when facing the equipment\u2019s entrance, or undefined if the equipment has no cabin. For a hoist, this refers to the hoist platform itself.

categoryOne of the following strings:

bed bodyScanner ctScanner elevator escalator flushMechanism hoist intercom luggageScanner movingWalkway mriScanner powerOutlet ramp sitemap stairLift switch ticketVendingMachine treatmentChair ultrasoundScanner vendingMachine wardrobe wheelchairLift xrayMachine

Type of the equipment or facility.

descriptionLocalizedString

Describes where the equipment is located. If only one description string is technically possible to maintain, it MUST not contain any abbreviations to allow being readable aloud by screen readers or voice assistants.

disruptionSourceImportIdstring

Data source ID of a secondary source used for realtime status info on accessibility.cloud

doorDoor

Object describing the door to the equipment, or undefined if there is no door.

emergencyIntercomIntercom

Describes the intercom system for emergency calls.

hasAdjustableHeightboolean

true if the equipment's height is adjustable, false if not.

hasDoorsAtRightAnglesboolean

true if the equipment has doors at right angles to each other.

hasDoorsInBothDirectionsboolean

true if the equipment has doors in two directions, so wheelchair, rollator, bike or pushchair users do not have to move backwards to exit.

hasExternalFloorSelectionboolean

For elevators. true if the elevator needs a command to be entered outside the elevator, false if not.

hasLandingsboolean

true if the equipment has a landing platform, false if not. Helpful for escalators.

hasMirrorboolean

For elevators. true if the elevator has a mirror, false if not.

hasVisualEmergencyAlarmboolean

true if the equipment has a visual emergency alarm, false if not (for example, inside elevators).

heightOfControlsLength

Height of the lowest working controls that are needed to operate this equipment. undefined if the equipment needs no controls.

ids Object with one or more of these keys:

string

Values must be of type string.

IDs in other data sources that are linked to this equipment, indexed by schema/context.

interactions Object with one or more of these keys:

arriveAtFloor buy call callEmergency disable enable engage findYourDestination flush getTreatment handover locateYourself ride scan selectFloor sell sleep toggle travel understand use

Values must be of type InteractionMode.

An object that indicates how the object can be interacted with.

The keys of this object are the interaction types, and the values are InteractionMode objects.

isAccessibleWithWheelchairboolean

true if the equipment is fully operatable for/by a person in a wheelchair, false if not. If you can, please don't use this attribute. Instead, use more specific attributes.

isIndoorsboolean

true if the equipment is indoors, false if it\u2019s fully or partially outdoors.

isSuitableForBicyclesboolean

For elevators. true if the elevator can carry a bicycle, false if not.

isWorkingboolean

Live status update.

true if the equipment is in operation, false if not, or undefined if it is unknown. When reading this attribute for showing it in a user interface, the user interface MUST show the operational status as \u2018unknown\u2019 if the status could be out of date, for example if it is older than 10 minutes.

When displaying the operational status, user interfaces SHOULD show the date saved in stateLastUpdate next to the operational status additionally for transparency.

languagesstring[]

Languages of the equipment\u2019s visible controls and/or voice output.

longDescriptionLocalizedString

Contains the same information as description, but in a longer form which can be read out by a screen reader or voice assistant.

Words MUST be written out fully (e.g. \u2018direction\u2019 instead of \u2018dir.\u2018, \u2018ground\u2019 instead of \u2018G\u2018, \u2018platform\u2019 instead of \u2018pl.\u2019). The field MUST NOT contain any symbols (e.g. ->, <->, or \u2192).

This MUST be suitable for people who have a visual impairment or use a screen reader or voice assistant (e.g. Amazon\u2019s Alexa).

If only one description field can be used for technical reasons, then the written-out form MUST be given preference, because a short form can be generated from the long form more easily than the other way around.

This attribute SHOULD be used as aria-label-attribute in web content.

manufacturerNameLocalizedString

Official name of the company that manufactured the equipment.

manufacturerSerialNumberstring

Manufacturer serial number of the equipment / facility.

Intentionally not localizable to allow matching with other data, e.g. from manufacturer's own APIs.

originalDatastring

Original source data for this equipment (for easier debugging)

originalIdstring

ID of this equipment in the original data source. To simplify communication with the operator, it\u2019s a good idea to use the operator facility management system ID here.

originalPlaceInfoIdstring

ID of the place that this equipment belongs to (unique in the original data source)

outOfOrderReasonLocalizedString

Live status update.

Reason why the equipment is not in operation. MUST be undefined if the equipment is in operation.

placeInfoIdstring

Place info ID that this equipment belongs to (accessibility.cloud ID)

placeSourceIdstring

ID of the place data source that this equipment belongs to (accessibility.cloud ID)

plannedCompletionDateDate

Live status update.

If isWorking is false, this is the planned date when the equipment will be in operation again.

MUST be undefined if the facility is currently in operation.

sameAsstring[]

URLs of this equipment in external data sources, for example in GTFS, IMDF or other sources.

seatSeat

Object describing the seat of the equipment, or undefined if there is no seat.

servicePhoneNumberstring

Phone number where a service operator can be reached for help using this facility.

serviceWebsiteUrlstring

URL pointing to a website that describes the equipnent or it's current operational status.

shortDescriptionLocalizedString

Contains the same information as description, but in a shorter form, to save space on the screen. This CAN contain Unicode characters such as \u27f7 or \u2198\ufe0e as well as abbreviations (e.g. \u2018pl.\u2019 instead of \u2018platform\u2019, \u2018dir.\u2019 instead of \u2018direction\u2019).

sourceIdstring

Data source ID on accessibility.cloud

sourceImportIdstring

Data import ID on accessibility.cloud

stateExplanationLocalizedString

Live status update.

Information about the current state. If isWorking is true, this can show information about future planned maintenance or construction work rendering this facility unusable.

The text MUST NOT have abbreviations to be readable aloud by a screen reader or voice assistant.

This field SHOULD only be used if a separation into individual disorder attributes (state, outOfOrderReason) is not technically possible (e.g. when existing APIs can not be further developed and users are only given one text field to describe the problem.)

stateLastUpdateDate

Live status update.

Date when the isWorking flag was updated by a realtime system.

"},{"location":"describing-objects/interfaces/#grabbars","title":"GrabBars","text":"

Describes grab bars or hand rails.

The continuous property is required.

NameTypecontinuous*boolean

Indicates if the grab bars are continuous or not. Helpful for stair grab rails.

distanceBetweenBarsLength

Indicates how far the bars are apart.

foldableboolean

true if the grab bars can be folded, false if not..

inFrontOfTheUserboolean

true if there is a folding handle in front of the user, false if not.

Seen from the perspective

interactions Object with one or more of these keys:

adjust findYourDestination foldDown foldUp localizeYourself

Values must be of type InteractionMode.

An object that indicates how the object can be interacted with.

The keys of this object are the interaction types, and the values are InteractionMode objects.

onUsersLeftSideboolean

true if there is a folding handle on left side, false if not.

Seen from the perspective

onUsersRightSideboolean

true if there is a folding handle on right side, false if not.

Seen from the perspective

topHeightFromFloorLength

Indicates how high the grab bars are (top edge, measured from the floor).

"},{"location":"describing-objects/interfaces/#interactable","title":"Interactable","text":"NameTypeinteractions Object with one or more of these keys:

InteractionType

Values must be of type InteractionMode.

An object that indicates how the object can be interacted with.

The keys of this object are the interaction types, and the values are InteractionMode objects.

"},{"location":"describing-objects/interfaces/#interactionmode","title":"InteractionMode","text":"

Describes how you can interact with a thing and which abilities you need to do so.

NameTypeactionActionMode

Action modes that are absolutely necessary to facilitate the interaction, e.g. \u2018pushing a button\u2019.

descriptionLocalizedString

Describes the output as human-readable text.

languagesstring[]

Input languages supported.

nameLocalizedString

Describes which output is meant. Helpful if there are multiple outputs.

optionalboolean

true if the interaction is optional, false if it is required.

perceptionPerceptionMode

Perception modes supported to facilitate the interaction.

requiredboolean

false if the interaction is optional, true if it is required.

"},{"location":"describing-objects/interfaces/#intercom","title":"Intercom","text":"

Describes a system to communicate over distance, e.g. a door intercom next to a doorbell.

NameTypeambientNoiseLevelVolume

The ambient noise level when using the intercom.

audioIsComprehensibleboolean

true if intercom system\u2019s audio quality is good enough for understanding speech, false if not.

descriptionLocalizedStringhasAudioboolean

true if the door has an audio intercom system, false if not.

hasVideoCameraboolean

true if the door has a video intercom system, false if not.

hasVisualFeedbackOnConnectionboolean

true if the intercom system has a visual feedback, false if not. Visual feedback might be a screen or light that displays if a connection is established.

interactions Object with one or more of these keys:

call close hangUp identify open ring

Values must be of type InteractionMode.

An object that indicates how the object can be interacted with.

The keys of this object are the interaction types, and the values are InteractionMode objects.

necessaryGripHeightLength

The height of the top control element of the intercom system.

needsKeyPadboolean

true if you need to use a key pad to pass this door, false if not.

"},{"location":"describing-objects/interfaces/#media","title":"Media","text":"

Describes a media unit provided at this place, for example an exhibit at a museum or a movie in a cinema.

NameTypeaccessModestring[]

Access modes supported by this equipment.

accessModeSufficientstring[]

Access mode combinations that allow understanding and using the equipment.

accessibilityControlstring[]

The accessibility controls that allow controlling this equipment.

accessibilityFeaturestring[]

Indicates the access mode combinations that allow understanding and using the equipment.

accessibilityHazardstring[]

Indicates the access mode combinations that allow understanding and using the equipment.

hasAudioDescriptionboolean

Is the media unit provided with audio description?

hasContrastingBackgroundboolean

If the media unit is printed or on a screen, does it have high contrast between background and foreground?

hasDedicatedScreenForSubtitlesboolean

Relevant for movies, screens and presentations: Is there a dedicated screen where subtitles can be read?

hasPlainLanguageOptionboolean

Is the media unit provided in a Plain Language option?

hasRealTimeCaptioningboolean

Does the media unit have real time captioning?

hasSubtitlesboolean

Is the media unit provided with subtitles?

interactions Object with one or more of these keys:

browse close discover feel interact listen open read recognize rent watch

Values must be of type InteractionMode.

An object that indicates how the object can be interacted with.

The keys of this object are the interaction types, and the values are InteractionMode objects.

isAudioboolean

Is the media unit consumable as audio-only option?

isBrailleboolean

Is the media unit consumable or described for Braille readers?

isLargePrintboolean

If the media unit is printed, is the print large?

isTactileboolean

Is the media tactile?

languagesstring[]

Specifies which languages (including sign languages) in which the media unit is provided

nameLocalizedString

Name of the media unit (relevant if there are multiple units of the same kind)

sameAsstring[]

URLs that contain the media. Use this to link data, for example with RDF.

turningSpaceInFrontLength

If the media is consumed while the consumer is directly in front of it, this property specifies how much turning space there is in front of it.

typeOne of the following strings:

document exhibit form guide menu movie play presentation screen tour website

Type of the media unit

"},{"location":"describing-objects/interfaces/#mirror","title":"Mirror","text":"

Describes a mirror.

heightFromGround and isAccessibleWhileSeated properties are required.

NameTypeheightFromGround*Length

How far is the mirror's bottom from the ground?

interactions Object with one or more of these keys:

adjust clean move turn use

Values must be of type InteractionMode.

An object that indicates how the object can be interacted with.

The keys of this object are the interaction types, and the values are InteractionMode objects.

isAccessibleWhileSeated*boolean

true if the mirror is accessible while sitting in a wheelchair, false if not.

isLocatedInsideRestroomboolean

true if the mirror is located inside the restroom, false if not.

"},{"location":"describing-objects/interfaces/#parking","title":"Parking","text":"NameTypecountnumberforWheelchairUsersundefined\u00a0|\u00a0WheelchairParkinginteractions Object with one or more of these keys:

arrive enterVehicle exitVehicle park

Values must be of type InteractionMode.

An object that indicates how the object can be interacted with.

The keys of this object are the interaction types, and the values are InteractionMode objects.

"},{"location":"describing-objects/interfaces/#pathways","title":"Pathways","text":"

Describes one or multiple pathways inside a place.

NameTypeisKerbstoneFreeboolean

true if the pathway is kerbstone-free, false if not.

surfaceSurfacewidthLength

Width constraints of all pathways inside a place relevant for consumers.

widthAtObstaclesLength

Width constraints of all pathways inside a place relevant for consumers.

"},{"location":"describing-objects/interfaces/#payment","title":"Payment","text":"

The Payment interface describes the payment options at a location.

NameTypeacceptsBillsbooleanacceptsCoinsbooleanacceptsCreditCardsbooleanacceptsDebitCardsbooleanacceptsPaymentByMobilePhonebooleancustomPaymentMetaInfoLocalizedString[]hasPortablePaymentSystemboolean"},{"location":"describing-objects/interfaces/#perceptionmode","title":"PerceptionMode","text":"

Describes necessary abilities and modes for interpreting information output, signals, or content.

NameTypeaccelerationAcceleration

Feedback force applied to the user.

activationSignalboolean

The output is an activation/engagement signal.

ambientNoiseLevelVolume

Ambient noise level in dB(A) relative to a reference pressure of 0.00002 Pa. Median over a 10-second period at least.

ambientTemperatureTemperature

The ambient temperature around the output.

animationboolean

The output is animated.

apiDocumentationUrlstring

The input API documentation URL.

attentionSpanTimeInterval

Attention time span needed to understand the output.

audibleClickboolean

The output has an acoustic click feedback.

audioDescriptionboolean

The output has audio description.

audioIsComprehensibleboolean

true if the system\u2019s audio quality is good enough for understanding speech, false if it is difficult.

backgroundColorsstring[]

Background output HTML colors (for example, the background behind a text or icon).

backgroundMusicboolean

There is background music playing.

beepboolean

The output uses one or more beeps as signal.

bingboolean

The output uses one or more bing-like signals.

blackAndWhiteboolean

The output uses black and white colors.

brailleboolean

The ability to read braille is supported or needed.

breathingboolean

The light looks like it is breathing.

brightnessBrightness

The output's brightness.

byodboolean

true if you can or have to perceive the content with a device that you own.

cableboolean

A cable is supported or needed.

chartboolean

The output uses one or more charts.

colorCodeboolean

The output uses a discrete color code.

colorGradientboolean

The output uses a color gradient.

contentWarningLocalizedString

Lists potential content warnings you have to expect here. User interfaces should not show the content warning directly, but should instead show a button to show the content warning.

dedicatedScreenForSubtitlesboolean

The output has a dedicated screen for subtitles.

descriptionLocalizedString

Describes the content/output/signal as human-readable text.

durationTimeInterval

Time interval in which the output is active.

educationLevelNumber

Education level needed to understand the output.

http://www.ibe.unesco.org/en/glossary-curriculum-terminology/l/levels-education

flashboolean

The output is a flashing light.

flashingHazardboolean

true if the output is a flashing hazard, false if there is explicitly no flashing hazard and someone / something ensures this. This can be relevant for people with epilepsy.

fontSizeLength

Font size used in the output.

forceForce

Feedback force applied to the user.

forceFeedbackboolean

The content/output/signal has active force feedback.

foregroundColorsstring[]

Foreground output HTML colors (for example, the text or icon color).

framerateHertz

The framerate of animations.

frequencyHertz

The frequency of the output, for tones or flashes.

fullBodyboolean

The content/output/signal affects your full body.

handwrittenboolean

The content is handwritten.

hapticboolean

The output is haptic.

hapticClickboolean

The output has a haptic click feedback.

headphoneboolean

Headphones are supported or needed.

heatboolean

Heat perception is supported or needed.

highContrastboolean

The output is displayed in high contrast.

instructionsUrlLocalizedString

URL describing how to make use of the content/output/signal.

isEasyToFindboolean

true if the input is easy to find.

isEasyToUnderstandboolean

true if the input is easy to understand, false if people might face difficulties trying to understand how the input works, or undefined if this is unknown or irrelevant.

languagesstring[]

Content languages supported.

ledboolean

The output is an LED.

lightboolean

The output is a light.

morseboolean

The output uses morse code.

musicboolean

The output uses music.

nameLocalizedString

Describes which output is meant. Helpful if there are multiple signals/outputs/content lements.

necessaryEyeHeightLength

How tall do you have to be to perceive the content/output/signal.

necessaryGripHeightLength

The height you need to grip to perceive the content/output/signal.

needsHighConcentrationboolean

The output needs high concentration to understand.

numbersboolean

The output uses one or more numbers.

optionalboolean

true if the perception is optional, false if it is required.

paperboolean

The output is displayed on a paper.

pictogramsboolean

The output uses one or more pictograms.

pitchedToneboolean

The output uses a pitched tone as signal.

plainLanguageOptionboolean

The output has a plain language option.

printerboolean

The output is from a printer.

provisionalHearingAidboolean

The perceiving person uses a provisional hearing aid, e.g. a stethoscope, a smartphone, or a headset with a microphone that amplifies the sound or speech.

qrCodeboolean

A QR code is supported or needed.

radioboolean

A radio connection is supported or needed (e.g. WiFi, Bluetooth, NFC, etc.)

readboolean

The ability to read is supported or needed.

realTimeCaptioningboolean

The output has realtime captioning.

requiredboolean

false if the perception is required to make use of the main function of the described object, true if it is required.

rhythmicboolean

The output is rhythmic.

screenboolean

The output is displayed on a screen.

signLanguageboolean

The ability to understand sign language is supported or needed.

smellboolean

The ability to smell is supported or needed.

soundboolean

The output is acoustic.

soundVolumeVolume

The content/output/signal has active vibration feedback.

speechboolean

The ability to understand speech is supported or needed.

staticboolean

true if the output is usually static and does not change over time, false if it is dynamic and changes over time.

stethoscopeboolean

The perceiving person uses a stethoscope.

This is method for patient communication that is used by doctors to speak to patients with hearing impairments:

British doctors recommend using the stethoscope as a hearing aid for patients in such situations (BMJ 2010; 341: c4672). If the patient has the buttons in his ear and the physician speaks softly and clearly into the diaphragm as into a microphone, then sufficient communication is often possible despite hearing problems. The intimacy of the conversation can be preserved by this simple means.

Sources:

subtitlesboolean

The output has subtitles.

tactileboolean

The output is tactile.

tactileGuidesboolean

The output has tactile guides, for example around buttons.

tasteboolean

Tasting something is supported or needed.

techSufficientTechCombination[]

Technology combinations that are sufficient to make use of the content/output/signal.

techSupportedTechCombination[]

Technologies that are sufficient to make use of the content/output/signal.

temperatureTemperature

The temperature of the output.

urgencyOne of the following strings:

alarm alert debug info warning

Urgency of the content when perceived.

urlLocalizedString

URL where you can see or make use of the content/output/signal, e.g. on your phone.

vibrationboolean

The content/output/signal has active vibration feedback.

visualboolean

The output is visual.

"},{"location":"describing-objects/interfaces/#personalprofile","title":"PersonalProfile","text":"

Describes a person. This exists only to transform data from sources where no physical attributes of places have been captured as data directly. It's better to describe physical attributes of places and let people decide themselves which facilities they need or which place condition works for them.

NameTypeblindnessboolean

true for a person that is blind.

guideDogboolean

true for a person that has a guide dog.

hearingImpairmentboolean

true for a person that has a hearing impairment.

learningImpairmentboolean

true for a person that has a learning impairment.

mobilityImpairmentboolean

true for a person that has a mobility impairment.

mutenessboolean

true for a person that is inable to speak.

visualImpairmentboolean

true for a person that has a visual impairment.

wheelchairboolean

true for a person that uses a wheelchair.

"},{"location":"describing-objects/interfaces/#placeinfo","title":"PlaceInfo","text":"

The PlaceInfo interface describes a physical location with added accessibility properties.

geometry and properties properties are required.

NameTypeformatVersionstring

The format version this place info document was created with (Uses the npm module version from package.json) Not used right now, but added for future compatibility.

geometry*PointGeometry

The physical location of the place in WGS84 coordinates. Currently only a GeoJSON PointGeometry is supported.

properties*PlaceProperties

Holds additional place properties such as name and category and accessibility information

"},{"location":"describing-objects/interfaces/#placeproperties","title":"PlaceProperties","text":"

Properties of a place of interest.

The category property is required.

NameTypeaccessArray of one or more of these strings:

customers delivery designated disabled emergency employees no permissive permit private public residents yes

Defines who this restroom is for. See https://wiki.openstreetmap.org/wiki/Key:access for more information.

accessibilityundefined\u00a0|\u00a0Accessibility

The accessibility of this place. null indicates that this place has no data, undefined or missing property indicates unknown.

addressundefined\u00a0|\u00a0StructuredAddress

The address of this place. null indicates that this place has no address, undefined or missing property indicates unknown.

category*string

Category name of the place

descriptionLocalizedString

Text description containing helpful information for people with disabilities.

editPageUrlstring

URL of the original data source\u2019s website on a subpage that allows to edit the original data.

emailAddressstring

Email address of the place's operator where you can get accessibility relevant information.

ids Object with one or more of these keys:

string

Values must be of type string.

IDs in other data sources that are linked to this equipment, indexed by schema/context.

infoPageUrlstring

URL of the original data source\u2019s website describing this place.

nameLocalizedString

The official name of this place.

originalDataany

Original source data for this equipment (for easier debugging)

originalIdstring

ID of this place of interest in the original data source. To simplify communication with the data provider, it\u2019s a good idea to use the provider's internal ID here.

originalParentPlaceInfoIdstring

The parent's place ID in the original dataset from the data provider.

parentPlaceInfoIdstring

ID of the parent place that this place belongs to.

parentPlaceSourceIdstring

Source ID of the parent place that this place belongs to. This is usually the same ID as sourceId, but the parent place can be from another data provider.

phoneNumberstring

Phone number to call a representant of the place's operator.

placeWebsiteUrlstring

URL of the place\u2019s own website.

sameAsstring[]

URLs of this equipment in external data sources, for example in GTFS, IMDF or other sources.

sourceIdstring

ID of the data source that provided the place (accessibility.cloud ID)

sourceImportIdstring

ID of the import that created this place (accessibility.cloud ID)

tags Object with one or more of these keys:

string

Values must be of type string.

Tags that are not part of the schema, but are still useful for the data consumer.

"},{"location":"describing-objects/interfaces/#pointgeometry","title":"PointGeometry","text":"

GeoJSON Point object.

coordinates and type properties are required.

NameTypecoordinates*tuple with 2 number elementstype*\"Point\""},{"location":"describing-objects/interfaces/#quantity","title":"Quantity","text":"

Describes a quantity of a unit type.

NameTypeaccuracynumber

\u00b1 in given units, uniform error.

maxnumber

maximal value (inclusive)

minnumber

minimal value (inclusive)

operatorOne of the following strings:

!= < <= = == > >= ~ ~=

the operator, indicating the value is not an absolute value

precisionnumber

\u00b1 in given units, uniform error

rawValuestring

raw, imported value, eg. '90 .. 120cm' - only required when importing

unitstring

one of the length units in js-quantities

valuenumber

the value in the specified unit

"},{"location":"describing-objects/interfaces/#queuesystem","title":"QueueSystem","text":"

Describes a system that encourages or forces people to queue up.

NameTypecanSkipQueueWithDisabilityboolean

true if you can skip the queue with a disability, false if not.

grabBarsGrabBars

Grab bars inside the queueing system, if applicable.

hasVisualAnnouncementsboolean

true if the queueing system announces the next person in line visually, false if not.

interactions Object with one or more of these keys:

arrive checkIn checkOut enqueue getOnesTurn getTicket leaveQueue skipQueue wait

Values must be of type InteractionMode.

An object that indicates how the object can be interacted with.

The keys of this object are the interaction types, and the values are InteractionMode objects.

needsTicketsboolean

true if the queueing uses tickets (usually numbered), false if not.

numberOfQueueServerPointsnumber

Number of queue server points.

numberOfSeatsnumber

Number of seats that can be used by people while waiting in the queue.

usesCattleBarsboolean

true if the queueing uses rails / cattle bars, false if not.

"},{"location":"describing-objects/interfaces/#restroom","title":"Restroom","text":"

Describes a Room that contains one or more Toilets or Showers.

NameTypeaccessArray of one or more of these strings:

customers delivery designated disabled emergency employees no permissive permit private public residents yes

Defines who this room is for. See https://wiki.openstreetmap.org/wiki/Key:access for more information.

addressStructuredAddressdescriptionLocalizedStringentranceEntranceProperties

Object describing the entrance to this room.

entrancesEntrance[]

Object describing the entrance to this room.

hasBathTubboolean

true if there is a bath tub in this room, false if not, undefined if condition is unknown.

hasCeilingHoistboolean

true if the restroom has a ceiling hoist, false if not.

hasChangingTableForAdultsboolean

true if the restroom has a changing table for adults, false if not.

hasChangingTableForBabiesboolean

true if the restroom has a changing table for babies, false if not.

hasEmergencyPullstringboolean

true if the restroom has an emergency pull string, false if not.

hasMirrorboolean

true if the restroom has a mirror, false if not.

hasShowerboolean

true if the restroom has a shower, false if not.

hasSupportRailsboolean

true if there support rails on the walls

heightOfDrierLength

At which height from the floor is the drier or towel?

heightOfSoapLength

At which height from the floor is the soap?

interactions Object with one or more of these keys:

callEmergency closeWindow enter exit lookAround openWindow play see sit sleep stand storeThings wait

Values must be of type InteractionMode.

An object that indicates how the object can be interacted with.

The keys of this object are the interaction types, and the values are InteractionMode objects.

isAccessibleWithWheelchairboolean

true if the room's relevant facilities are completely accessible while using a wheelchair, false if not, undefined if the condition is unknown or difficult to assess.

mirrorMirror

Describes a mirror, if existing.

sameAsstring[]showerShower

Object describing a shower inside this restroom, if existing.

signIconsArray of one or more of these strings:

allGender baby changingTable family female male personInWheelchair toiletBowl urinal washBasin

Visible icons on the restroom\u2019s sign

toiletToilet

Object describing a toilet inside the restroom, if existing.

turningSpaceInsideLength

How wide is the space inside that you can use for turning?

usageFeeCurrencyValue[]

Defines how much you have to pay to use this restroom. There might be multiple fee amounts, e.g. for different access types or usage times.

washBasinWashBasin

Object describing a wash basin belonging to this restroom. It can be outside of the restroom.

"},{"location":"describing-objects/interfaces/#room","title":"Room","text":"

Describes a room inside a structure.

NameTypeaccessArray of one or more of these strings:

customers delivery designated disabled emergency employees no permissive permit private public residents yes

Defines who this room is for. See https://wiki.openstreetmap.org/wiki/Key:access for more information.

addressStructuredAddressdescriptionLocalizedStringentranceEntranceProperties

Object describing the entrance to this room.

entrancesEntrance[]

Object describing the entrance to this room.

hasSupportRailsboolean

true if there support rails on the walls

interactions Object with one or more of these keys:

callEmergency closeWindow enter exit lookAround openWindow play see sit sleep stand storeThings wait

Values must be of type InteractionMode.

An object that indicates how the object can be interacted with.

The keys of this object are the interaction types, and the values are InteractionMode objects.

isAccessibleWithWheelchairboolean

true if the room's relevant facilities are completely accessible while using a wheelchair, false if not, undefined if the condition is unknown or difficult to assess.

sameAsstring[]turningSpaceInsideLength

How wide is the space inside that you can use for turning?

"},{"location":"describing-objects/interfaces/#seat","title":"Seat","text":"

Describes one or multiple seats / chairs / benches / stools / couches / sofas / armchairs / ...

NameTypeadjustmentAxesArray of one or more of these strings:

axial coronal sagittal

The seat can be adjusted in the following axes.

adjustmentDirectionsArray of one or more of these strings:

backward clockwise counterclockwise down forward left right up

The seat can be adjusted in the following directions.

columnsnumber[]

The seat column numbers. This is only for seats in a fixed seating arrangement.

descriptionLocalizedString

Name of the entrance (helpful if there are multiple entrances).

fixedHeightLength

How high is the desk? For variable-height desks, use minimalHeight and maximalHeight instead.

This can be used to determine if a wheelchair user can sit at the desk.

hasAdjustableHeightboolean

The seat has an adjustable seating surface.

hasHeadRestboolean

The seat has a headrest.

hasRemovableArmRestsboolean

The seat has removable armrests.

hasSeatbeltboolean

The seat has a seatbelt.

interactions Object with one or more of these keys:

adjust adjustArmRests adjustBackRest adjustFootRest adjustHeadRest adjustHeight adjustLegRest adjustSeatBelt adjustSeatBeltAngle adjustSeatBeltHeight adjustSeatBeltLength adjustSeatBeltLock adjustSeatBeltPosition adjustSeatBeltTension adjustSeatingAngle adjustSeatingSurface connectSeatbelt fold move removeArmrests sit unfold

Values must be of type InteractionMode.

An object that indicates how the object can be interacted with.

The keys of this object are the interaction types, and the values are InteractionMode objects.

intercomundefined\u00a0|\u00a0Intercom

Information about an intercom at this seat, if applicable.

null indicates there is no intercom.

isCenterColumnboolean

The seat is located at the center of the seating arrangement, laterally.

isFixedboolean

The seat is fixed.

isFoldableboolean

The seat can be folded.

isFrontRowboolean

The seat is located at the front row of the seating arrangement.

isLastRowboolean

The seat is located at the last row of the seating arrangement.

isMobileboolean

The seat is mobile.

isWheelchairAccessibleboolean

The seat is wheelchair accessible.

maximalHeightLength

How high is the desk maximally? This is only for variable-height desks. Use fixedHeight for fixed-height desks. This can be used to determine if a wheelchair user can sit at the desk.

minimalHeightLength

How high is the desk minimally? This is only for variable-height desks. Use fixedHeight for fixed-height desks. This can be used to determine if a wheelchair user can sit at the desk.

nameLocalizedString

Name of the entrance (helpful if there are multiple entrances).

paymentundefined\u00a0|\u00a0Payment

Information about payment at this seat or the cost of using this seat.

null indicates there is no payment possible/required.

reservedForPersonsWithPersonalProfile

The seat is reserved for persons with the given profile.

rowsnumber[]

The seat row numbers. This is only for seats in a fixed seating arrangement.

seatbeltPointsnumber

The number of seatbelt points.

turningSpaceInFrontLength

How much space is there in front of the desk? This can be used to determine if a wheelchair user can sit at the desk.

"},{"location":"describing-objects/interfaces/#shower","title":"Shower","text":"

Describes a shower.

NameTypedoorDoorgrabBarsGrabBars

Ergonomic handles inside the shower.

hasShowerSeatboolean

true if the shower has a seat, false if not..

hasSupportRailsboolean

true if the shower has support rails, false if not.

interactions Object with one or more of these keys:

transfer useConditioner useShampoo useShowerCurtain useShowerGel useShowerHead useSoap useSupport wash

Values must be of type InteractionMode.

An object that indicates how the object can be interacted with.

The keys of this object are the interaction types, and the values are InteractionMode objects.

seatSeat

Describes the shower seat, if existing.

stairsStairs"},{"location":"describing-objects/interfaces/#signage","title":"Signage","text":"

Describes a signage / physical navigation system belonging to a location.

NameTypedescriptionLocalizedString

A description of the signage.

fontHeightLength

The height of the font used on the signage. Most likely in millimeters, using a range.

hasAudioboolean

true if the signage has audio, false if not.

hasBrailleboolean

true if the signage has braille, false if not.

hasNumbersboolean

true if the signage uses a numbering scheme, false if not, undefined if condition is unknown.

hasPictogramsboolean

true if the signage has pictograms, false if not.

hasRaisedLettersboolean

true if the signage has raised letters, false if not.

hasSearchboolean

true if the signage has a search function, false if not, undefined if condition is unknown.

hasTactileGuideStripsboolean

true if the signage has tactile guide strips, false if not, undefined if condition is nknown.

hasTactileHandRailsboolean

true if the signage has tactile hand rails, false if not, undefined if condition is unknown.

hasTactileMapboolean

true if the signage has a tactile map, false if not.

hasTactileNorthMarkersboolean

true if the signage has tactile north markers, false if not, undefined if condition is unknown.

https://twitter.com/saizai/status/1210352258950598656

hasTactilePavingboolean

true if the signage has tactile paving, false if not.

hasTactileRoomNamesboolean

true if the signage has tactile room names, false if not, undefined if condition is unknown.

hasTextboolean

true if the signage has text features, false if not.

hasVideoboolean

true if the signage has video, false if not.

hasVirtualMapboolean

true if the signage has a virtual map, false if not.

highLegibilityboolean

true if the signage has high legibility, false if not.

interactions Object with one or more of these keys:

findYourDestination locateYourself useSitemap

Values must be of type InteractionMode.

An object that indicates how the object can be interacted with.

The keys of this object are the interaction types, and the values are InteractionMode objects.

isHighContrastboolean

true if the signage has high contrast, false if not.

"},{"location":"describing-objects/interfaces/#staff","title":"Staff","text":"

Describes the presence of staff and their qualifications and/or provided services.

NameTypecanSeeVisitorsFromInsideboolean

true if the staff has means to see visitors from the inside at all times when the place is open (for example a window or CCTV system), false if not.

hasFreeAssistantForVisitorsboolean

true if there is an assistant for the duration of the visit that is free of charge, false if not.

languagesstring[]

Languages that the staff speaks, including sign language variants.

Uses IETF language codes.

spokenLanguagesstring[]"},{"location":"describing-objects/interfaces/#stairs","title":"Stairs","text":"

The Stairs interface describes one or more walkable stairs.

NameTypealternativeMobileEquipmentIdsstring[]

You SHOULD reference alternative equipment IDs with this field, for example elevators, escalators, or hoists.

countnumber

Number of steps.

floorsstring[]

Floor numbers that are accessible via these stairs.

grabBarsGrabBars

Grab bars belonging to the stairs.

hasAntiSlipNosingboolean

true if all relevant steps are made with anti-slip material.

hasBrailleSignageboolean

true if there is braille navigation in this staircase, false if not.

hasHandRailboolean

true if there is a handrail covering all relevant steps, false if not.

hasHighContrastNosingboolean

true if all relevant steps have a high contrast nosing.

hasMetalGratingboolean

Do the stairs have metal grating? This is difficult to navigate for people with assistance dogs.

hasTactileSafetyStripsboolean

true if all relevant steps have tactile safety surfaces, used as warnings, implying textures detectable with the touch of a foot or sweep of a cane.

hasTactileSignageboolean

true if there is tactile navigation in this staircase, false if not.

isSpiralboolean

true if the stairs are spiral, false if not.

isWellLitboolean

Are the stairs and podests well lit?

nameLocalizedString

If there are multiple staircase, you SHOULD indicate a name for this staircase here.

stepHeightLength

Indicates how high the steps if these stairs are (can be a range).

"},{"location":"describing-objects/interfaces/#structuredaddress","title":"StructuredAddress","text":"

The address of a places as Address as a series of structured attributes.

NameTypeareasLocalizedString[]

An array of named areas below the district and above street. In some regions such areas might also contain street names, when individual street segments have names separate from the name of the whole road.

buildingLocalizedString

Building name

cityLocalizedString

The name of the primary locality of the place.

countryCodestring

A three-letter country code in ISO 3166-1 alpha-3, see https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3

countyLocalizedString

A division of a state; typically a secondary-level administrative division of a country or equivalent.

districtLocalizedString

A division of city; typically an administrative unit within a larger city or a customary name of a city's neighborhood.

houseLocalizedString

House or street number.

levelIndexnumber

Relative in relation to other levels. 0 for ground level must have index 0, 1 for first level, etc. You can use half numbers for levels like 1.5.

levelNameLocalizedString

Name of the level. Example: { en: \"Floor 1\" }, { en: \"Ground level\" }.

postalCodeLocalizedString

An alphanumeric string included in a postal address to facilitate mail sorting (a.k.a. post code, postcode, or ZIP code).

regionsLocalizedString[]

For address conventions where more than to levels of named areas above the city level are in use, the regions attribute provides an array with all additional area names, ordered by decreasing size (starting with the highest subdivision below state)

roomLocalizedString

Room name. Example: { en: \"Meeting room \u2018Rome\u2019\" }.

roomNumberLocalizedString

Room number. Example: { en: \"B-101\" }.

stateLocalizedString

A division of a country; typically a first-level administrative division of a country and/or a geographical region.

stateCodestring

A code/abbreviation for the state division of a country.

streetLocalizedString

Street name (in practice may also contain street number).

textLocalizedString

A displayable, formatted address as rich text.

"},{"location":"describing-objects/interfaces/#surface","title":"Surface","text":"

Describes the surface of a ground or path.

NameTypelateralSlopeSlopelongitudinalSlopeSlopesmoothnessOne of the following strings:

bad excellent good horrible impassable intermediate very_bad very_good very_horrible

According to https://wiki.openstreetmap.org/wiki/Key:smoothness

turningSpaceLength

Turning space that this ground provides to people.

typesArray of one or more of these strings:

acrylic aluminium anti-slip artificial artificial_grass artificial_turf asfalto ash asphalt astroturf bamboo bare_rock bark barkchips bedrock bitumen bituminous block boardwalk boulders brick brick_weave bricks bushes carpet cement chalk chipseal cinder clay cobblestone compacted compacted_gravel composite con concrete concrete_slab concrete_slabs construction coral coral_sand crushed_limestone crushed_shells debris decoturf dirt earth enrob\u00e9 fine_gravel fine_sand flagstone footway glass goudron granite grass grass_paver grass_scrub grassland grating gravel green grit ground hardcore ice ice_road interlock iron laterite lawn leaves limerock limestone linoleum loose_gravel marble marble_plate meadow metal metal_grid mixed moss mud mulch native natural none oil overgrown path paved pavement paving paving_stone paving_stones peat pebbles pebblestone plank plastic plates rasin residential rock rocks rocky roman_paving rubber rubbercrumb rubble salt sand sandstone sawdust scree scrub sealed sett shell shells shingle slabs snow soil spur steel stepping_stones stone stones synthetic tactile_paving tar tared tarmac tartan terra terre tile tiles timber track trail trees tuff turf undefined unhewn_cobblestone unpaved unpaved2 unpaved33 unpaved_minor unsealed water wood wood_chips woodchips zebra

According to https://wiki.openstreetmap.org/wiki/Key:surface

"},{"location":"describing-objects/interfaces/#techcombination","title":"TechCombination","text":"

Describes a combination of technologies that are used together to achieve a specific goal.

The uris property is required.

NameTypedescriptionLocalizedString

Localizable description of the combination. Can describe in which mode or for what goal the tech is used.

nameLocalizedString

Localizable name/title of the combination. Can describe in which mode or for what goal the tech is used.

uris*string[]

URIs of technologies that are combined together to form this tech combination. Use RDF if possible.

Supported prefix examples:

"},{"location":"describing-objects/interfaces/#toilet","title":"Toilet","text":"

Describes a single toilet that can be inside a restroom or cabin.

NameTypeflushMechanismDistanceFromToiletLength

Indicates how far the flush mechanism(s) from the toilet, from the perspective of a the floor plan. If the flush mechanism is right behind the toilet, this is a 0 length.

grabBarsGrabBars

Object describing the grab bars.

hasAutomaticFlushboolean

true if the toilet is automatically flushing after use.

heightOfBaseLength

Indicates the height of the toilet\u2019s base.

interactions Object with one or more of these keys:

flush secondaryFlush spray use

Values must be of type InteractionMode.

An object that indicates how the object can be interacted with.

The keys of this object are the interaction types, and the values are InteractionMode objects.

isLatrineboolean

Indicates whether the toilet is a latrine.

isSquatToiletboolean

Indicates whether the toilet is a squat toilet.

isUrinalboolean

Indicates whether the toilet is a urinal.

spaceInFrontLength

How much space is in front of the toilet?

spaceOnUsersLeftSideLength

How much space is on the left side of the toilet? (from the perspective of somebody using the toilet)

spaceOnUsersRightSideLength

How much space is on the right side of the toilet? (from the perspective of somebody using the toilet)

"},{"location":"describing-objects/interfaces/#washbasin","title":"WashBasin","text":"

Describes a wash basin.

NameTypeaccessibleWithWheelchairboolean

true if the wash basin is accessible with wheelchairs, false if not.

heightLength

Defines at which height is the wash basin's top

interactions Object with one or more of these keys:

changeTemperature changeWaterPressure getCarbonizedWater getColdWater getHotWater getPaperTowel getTowel sanitizeHands useAirDryer useSoap useWater useWaterJet useWaterSpray

Values must be of type InteractionMode.

An object that indicates how the object can be interacted with.

The keys of this object are the interaction types, and the values are InteractionMode objects.

isLocatedInsideRestroomboolean

true if the restroom's wash basin is inside the cabin, false if not.

spaceBelowDepthLength

How deep is the space below the wash basin?

spaceBelowHeightLength

How high is the space below the wash basin?

"},{"location":"describing-objects/interfaces/#wheelchairparking","title":"WheelchairParking","text":"

Describes one or more wheelchair parking lots.

NameTypecountnumber

Defines many wheelchair accessible parking lots are provided

distanceToEntranceLength

How far away is the parking from the main entrance? If there is a separate wheelchair entrance, the distance to this entrance MUST be used.

hasDedicatedSignageboolean

true if there is dedicated signage at all relevant turning points from the street to the parking, false if not, undefined if this is unknown.

interactions Object with one or more of these keys:

arrive enterVehicle exitVehicle park

Values must be of type InteractionMode.

An object that indicates how the object can be interacted with.

The keys of this object are the interaction types, and the values are InteractionMode objects.

isLocatedInsideboolean

true if the parking is inside a building or under a roof, false if not, undefined if unknown.

lengthLength

Length constraint of the parking lots.

locationLocalizedString

Describes where the parking is located.

maxVehicleHeightLength

Maximal allowed vehicle height for users of this parking.

neededParkingPermitsLocalizedString[]

List of permit names that allow using this parking.

widthLength

Width constraint of the parking lots.

"},{"location":"describing-objects/interfaces/#wheelchairplaces","title":"WheelchairPlaces","text":"

The WheelchairPlaces interface describes the presence of reserved spots for wheelchairs.

The count property is required.

NameTypecount*number

The number of designated places for wheelchairs, for example, in a cinema or theater.

hasSpaceForAssistantboolean

Is there additional space for an assistant?

wheelchairUserCapacitynumber

The number of people using a wheelchair that can be accomodated at the same time. Use this when there is no designated space for wheelchair users, but the number is known.

"},{"location":"describing-objects/interfaces/#wifiaccessibility","title":"WifiAccessibility","text":"

Describes the presence of staff and their qualifications and/or provided services.

NameTypeaccessArray of one or more of these strings:

customers delivery designated disabled emergency employees no permissive permit private public residents yes

Describes who can access the wifi.

descriptionWhereToGetLoginDataLocalizedString

Describes where you get the login data / guest pass.

hasCaptivePortalboolean

true if the wifi has a captive portal website.

hasFixedPasswordboolean

true if the wifi has a fixed password. Knowing this password must be enough to enter and use the wifi.

isCaptivePortalAccessibleboolean

true if the wifi captive portal is accessible (WAI/ARIA).

isOpenToEveryoneboolean

true if the wifi is open to everyone, false if it is explicitly not.

isOpenToStaffboolean

true if the wifi is open to explicit place staff, false if explicitly not.

isOpenToVisitorsboolean

true if the wifi is open to explicit place visitors, false if explicitly not.

needsGuestPassboolean

true if you need a personalized guest pass / code / password to use the wifi, false if not.

passwordstring

A string with the Wifi password. Only use this attribute if security allows to publish this info online publicly.

ssidstring

A string with the Wifi name (SSID). Only use this attribute if security allows to publish this info online publicly.

usageFeeCurrencyValue[]

Describes if you need to pay a usage fee to use the wifi, or if no fee is needed.

"},{"location":"describing-objects/type-aliases/","title":"Type Aliases","text":"

Besides interfaces and constants, A11yJSON defines the following bare types.

Some lack proper formatting in the documentation. Fixes in tools/generate-overview.ts are welcome!

"},{"location":"describing-objects/type-aliases/#acceleration","title":"Acceleration","text":"

Definition: Quantity\u00a0|\u00a0string

"},{"location":"describing-objects/type-aliases/#accesstype","title":"AccessType","text":"

Definition: one of the following strings:

"},{"location":"describing-objects/type-aliases/#brightness","title":"Brightness","text":"

Definition: Quantity\u00a0|\u00a0string

"},{"location":"describing-objects/type-aliases/#deskinteraction","title":"DeskInteraction","text":"

Definition: one of the following strings:

"},{"location":"describing-objects/type-aliases/#direction","title":"Direction","text":"

Describes a physical direction, from the perspective of a person facing forward.

Definition: one of the following strings:

"},{"location":"describing-objects/type-aliases/#directionaxis","title":"DirectionAxis","text":"

Describes a physical direction axis relative to a person\u2019s body.

Definition: one of the following strings:

"},{"location":"describing-objects/type-aliases/#doorinteraction","title":"DoorInteraction","text":"

Definition: one of the following strings:

"},{"location":"describing-objects/type-aliases/#equipmentinteraction","title":"EquipmentInteraction","text":"

Definition: one of the following strings:

"},{"location":"describing-objects/type-aliases/#equipmenttype","title":"EquipmentType","text":"

Definition: one of the following strings:

"},{"location":"describing-objects/type-aliases/#force","title":"Force","text":"

Definition: Quantity\u00a0|\u00a0string

"},{"location":"describing-objects/type-aliases/#genericinteraction","title":"GenericInteraction","text":"

Definition: one of the following strings:

"},{"location":"describing-objects/type-aliases/#grabbarsinteraction","title":"GrabBarsInteraction","text":"

Definition: one of the following strings:

"},{"location":"describing-objects/type-aliases/#hertz","title":"Hertz","text":"

Definition: Quantity\u00a0|\u00a0string

"},{"location":"describing-objects/type-aliases/#ietflanguagetag","title":"IETFLanguageTag","text":"

Defines a spoken or written language in IETF language tag format.

Definition: string

"},{"location":"describing-objects/type-aliases/#intercominteraction","title":"IntercomInteraction","text":"

Definition: one of the following strings:

"},{"location":"describing-objects/type-aliases/#length","title":"Length","text":"

Definition: Quantity\u00a0|\u00a0string

"},{"location":"describing-objects/type-aliases/#localizedstring","title":"LocalizedString","text":"

Definition: Object with one or more of these keys:

string

Values must be of type string.

"},{"location":"describing-objects/type-aliases/#mass","title":"Mass","text":"

Definition: Quantity\u00a0|\u00a0string

"},{"location":"describing-objects/type-aliases/#mediainteraction","title":"MediaInteraction","text":"

Definition: one of the following strings:

"},{"location":"describing-objects/type-aliases/#mediatype","title":"MediaType","text":"

Definition: one of the following strings:

"},{"location":"describing-objects/type-aliases/#mirrorinteraction","title":"MirrorInteraction","text":"

Definition: one of the following strings:

"},{"location":"describing-objects/type-aliases/#operator","title":"Operator","text":"

Definition: one of the following strings:

"},{"location":"describing-objects/type-aliases/#parkinginteraction","title":"ParkingInteraction","text":"

Definition: one of the following strings:

"},{"location":"describing-objects/type-aliases/#paymentnteraction","title":"Paymentnteraction","text":"

Definition: one of the following strings:

"},{"location":"describing-objects/type-aliases/#queuesysteminteraction","title":"QueueSystemInteraction","text":"

Definition: one of the following strings:

"},{"location":"describing-objects/type-aliases/#restroomsignicon","title":"RestroomSignIcon","text":"

Definition: one of the following strings:

"},{"location":"describing-objects/type-aliases/#roominteraction","title":"RoomInteraction","text":"

Definition: one of the following strings:

"},{"location":"describing-objects/type-aliases/#seatinteraction","title":"SeatInteraction","text":"

Definition: one of the following strings:

"},{"location":"describing-objects/type-aliases/#showerinteraction","title":"ShowerInteraction","text":"

Definition: one of the following strings:

"},{"location":"describing-objects/type-aliases/#signageinteraction","title":"SignageInteraction","text":"

Definition: one of the following strings:

"},{"location":"describing-objects/type-aliases/#slope","title":"Slope","text":"

Definition: Quantity\u00a0|\u00a0string

"},{"location":"describing-objects/type-aliases/#smokingpolicy","title":"SmokingPolicy","text":"

Describes the smoking policy for visitors of a place.

Definition: one of the following strings:

"},{"location":"describing-objects/type-aliases/#smoothnesstype","title":"SmoothnessType","text":"

Definition: one of the following strings:

"},{"location":"describing-objects/type-aliases/#speed","title":"Speed","text":"

Definition: Quantity\u00a0|\u00a0string

"},{"location":"describing-objects/type-aliases/#surfacetype","title":"SurfaceType","text":"

Definition: one of the following strings:

"},{"location":"describing-objects/type-aliases/#temperature","title":"Temperature","text":"

Definition: Quantity\u00a0|\u00a0string

"},{"location":"describing-objects/type-aliases/#timeinterval","title":"TimeInterval","text":"

Definition: Quantity\u00a0|\u00a0string

"},{"location":"describing-objects/type-aliases/#toiletinteraction","title":"ToiletInteraction","text":"

Definition: one of the following strings:

"},{"location":"describing-objects/type-aliases/#urgency","title":"Urgency","text":"

Definition: one of the following strings:

"},{"location":"describing-objects/type-aliases/#volume","title":"Volume","text":"

Definition: Quantity\u00a0|\u00a0string

"},{"location":"describing-objects/type-aliases/#washbashininteraction","title":"WashBashinInteraction","text":"

Definition: one of the following strings:

"},{"location":"describing-objects/type-aliases/#wheelchairaccessibilitygrade","title":"WheelchairAccessibilityGrade","text":"

Definition: one of the following strings:

"},{"location":"describing-objects/type-aliases/#wifiinteraction","title":"WifiInteraction","text":"

Definition: one of the following strings:

"}]} \ No newline at end of file +{"config":{"lang":["en"],"separator":"[\\s\\-]+","pipeline":["stopWordFilter"]},"docs":[{"location":"","title":"A standard to describe the accessibility of the physical world.","text":"

A11yJSON is an open standard based on GeoJSON (RFC 7946). Its goal is to make accessibility information more comfortable to exchange.

Integrate A11yJSON into data schemas that describe\u2026

This is a valid A11yJSON data snippet:

{\n\"entrances\": [\n{ \"name\": \"30th St\", \"isMainEntrance\": true, \"isLevel\": false },\n{ \"name\": \"Side gate\", \"hasFixedRamp\": true }\n],\n\"animalPolicy\": {\n\"allowsGuideDogs\": false\n}\n}\n

The docs provide examples (for example, a cinema, canteen, an elevator) for more complex definitions, or the list of accessibility criteria to see the format's extent.

"},{"location":"#is-this-for-me","title":"Is this for me?","text":"

See the FAQ.

Here is a list of projects using A11yJSON.

"},{"location":"#technically","title":"Technically\u2026","text":"

A11yJSON provides a collection of documented data model for structuring data in your projects \u2013 no matter which language you use.

It comes with a TypeScript library to check your data structures at compile-time.

For web and Node.js, there is @sozialhelden/a11yjson, a npm module. The model validates data at runtime using SimpleSchema, sanitizes input, and returns sophisticated error messages for wrong data.

The schema definition API is simple to read, so the schema should be portable to other schema languages (GraphQL, JSON Schema, \u2026), if necessary. If you have a specific idea, let\u2019s talk!

"},{"location":"#who-is-behind-a11yjson","title":"Who is behind A11yJSON?","text":"

A11yJSON is made by Sozialhelden e.V., a non-profit that works on innovative solutions to social issues. It\u2019s based in Berlin, Germany, and known for Wheelmap.org, the world\u2019s biggest open online map of accessible places.

"},{"location":"#finally","title":"Finally\u2026","text":"

If you think that A11yJSON deserves attention, consider giving it a Star on GitHub, share the project on social media, and tell your friends! \ud83d\ude4c

"},{"location":"0-usage/","title":"Usage","text":"

You can use A11yJSON in any project that supports nested, JSON-like data structures or classes.

Best support is available for:

TypeScript, Node.js, Browsers (CommonJS/ES modules).

Usage is, of course, not limited to these environments \u2013 we encourage you to use the same structures in your Python, Rust, Java, Swift, PHP, \u2026 project!

Feel free to contribute automatically type generation for your favorite programming environment and create an issue if you plan to do this.

"},{"location":"0-usage/#installing-the-npm-module","title":"Installing the npm module","text":"
npm install --save @sozialhelden/a11yjson\n
"},{"location":"0-usage/#basics","title":"Basics","text":"

A11yJSON's reference provides a documentation of the A11yJSON data model.

For each interface X you find in the reference, the a11yjson npm module provides

  1. a TypeScript interface X (if you use TypeScript)
  2. a SimpleSchema instance named XSchema to validate and sanitize objects to be correct A11yJSON
"},{"location":"0-usage/#typescript-usage","title":"TypeScript usage","text":"
import { PlaceInfo } from '@sozialhelden/a11yjson';\nconst placeInfo: PlaceInfo = {\ngeometry: { type: Point, coordinates: [2.376757, 48.898991] },\nproperties: {\ncategory: \"cinema\",\nname: \"Cin\u00e9 XY\",\naccessibility: {\naccessibleWith: {\nguideDog: true,\nwheelchair: true,\n},\nmedia: [\n{\ntype: 'movie',\ninteractions: {\nwatch: {\nperception: {\nlanguages: ['fr'],\nsubtitles: \"always\",\naudioDescription: \"sometimes\",\nbyod: \"optional\",\neducationLevel: 3,\nvisual: \"optional\",\nsignLanguage: \"optional\",\n}\n}\n}\n}\n]\n}\n}\n}\n

The TypeScript compiler will validate definitions at compile time.

"},{"location":"0-usage/#validating-a11yjson-objects-at-runtime","title":"Validating A11yJSON objects at runtime","text":"

The following code imports one interface schema, PlaceInfoSchema, from A11yJSON, and validates an object against it.

If the object isn't valid, you get a detailed error object as validation result.

import { getPlaceInfoSchemaDefinition } from '@sozialhelden/a11yjson';\nconst PlaceInfoSchema = new SimpleSchema(getPlaceInfoSchemaDefinition());\n// This could be your GeoJSON feature.\nconst myGeoJSONFeature = {\ngeometry: { \u2026 }\nproperties: { \u2026 }\n};\n// See https://github.com/aldeed/simple-schema-js for the full documentation\n// of how validation works.\nconst validationContext = PlaceInfoSchema.newContext();\n// Sanitizes the input object.\n// Converts types to match the schema where possible, and converts quantity\n// strings like '12 inches' to Quantity objects like { value: 12, unit: 'inch' }.\nconst sanitizedGeoJSONFeature = PlaceInfoSchema.clean(myGeoJSONFeature);\n// Checks if the GeoJSON is a valid A11yJSON\u2019s `PlaceInfo`.\nvalidationContext.validate(sanitizedGeoJSONFeature);\nif (!validationContext.isValid()) {\nconst errors = validationContext.validationErrors();\n// `errors` is a JSON object with detailled validation infos about each field\n// in the input object.\nconsole.log(errors);\n}\n
"},{"location":"1-who-uses-a11yjson/","title":"Who uses A11yJSON?","text":"

The following organizations / products use A11yJSON.

Contact us if you want your organization to show up on this list.

"},{"location":"faq/","title":"FAQ","text":""},{"location":"faq/#is-this-for-me","title":"Is this for me?","text":"

If you build an app that digitalizes any aspect of real life, this data format is potentially relevant to you. Why? Because if you are responsible for modeling data, you decide if your data format adds new barriers to this real world \u2013 or if your app creates a new entrance. Use this power wisely, and ensure that your data design includes everyone from the start. This means: even before the UI around your data model is built. \ud83e\uddbe

A11yJSON can help (or at least inspire) you if you work with data in\u2026

"},{"location":"faq/#should-i-use-this-standard","title":"Should I use this standard?","text":"

Yes, until there is something better. Even if you cannot adapt the whole format as part of your own indoor mapping specs, it\u2019s a good idea to adapt single data models where you see fit.

Note that A11yJSON does not yet cover the full details of services, tangible products, or events yet. Extensions are welcome!

"},{"location":"faq/#how-can-i-link-a11yjson-data-with-another-dataset","title":"How can I link A11yJSON data with another dataset?","text":"

A11yJSON is designed to be compatible with other datasets. In general, A11yJSON allows to create more detailed descriptions for objects and places existing somewhere else, and aims to help you collect and augment existing datasets.

"},{"location":"faq/#adding-references-to-other-datasets-in-an-a11yjson-data-record","title":"Adding references to other datasets in an A11yJSON data record","text":"

For this, we recommend inventing a URI scheme that allows to reference single records in your dataset (like https://your-organization.com/places/1234 as a persistent URI for a place with the ID 1234), and adding matching URIs in A11yJSON records using the sameAs attribute. This is how Wheelmap.org uses A11yJSON via the accessibility.cloud API to connect OpenStreetMap places with other data sources.

If your organization maintains an A11yJSON dataset on accessibility.cloud, the accessibility.cloud API lets you to find accessibility data for a given record in your data source. For this, the record needs to have a URI.

Here is an example API URL for requesting more infos about https://openstreetmap.org/way/23576086: https://accessibility-cloud-v2.freetls.fastly.net/place-infos.json?appToken=APP_TOKEN&sameAs=https://openstreetmap.org/way/23576086 (insert your own APP_TOKEN to try it out).

Because accessibility.cloud has more infos about this object, it would respond like this (compacted for brevity):

{\n\"type\": \"FeatureCollection\",\n\"related\": {\n\"licenses\": {\n\"...\": \"...\"\n},\n\"images\": {\n\"...\": \"...\"\n}\n},\n\"features\": [\n{\n\"type\": \"Feature\",\n\"geometry\": {\n\"...\": \"...\"\n},\n\"properties\": {\n\"category\": \"townhall\",\n\"name\": {\n\"de\": \"Rathaus\"\n},\n\"sameAs\": [\n\"https://openstreetmap.org/way/23576086\"\n],\n\"accessibility\": {\n\"accessibleWith\": {\n\"wheelchair\": true\n},\n\"entrances\": [\n{\n\"geometry\": {\n\"type\": \"Point\",\n\"coordinates\": [\n10.898418,\n48.368721\n]\n},\n\"properties\": {\n\"isMainEntrance\": true,\n\"hasFixedRamp\": true\n}\n},\n{\n\"geometry\": {\n\"type\": \"Point\",\n\"coordinates\": [\n10.898377,\n48.369305\n]\n},\n\"properties\": {\n\"isMainEntrance\": false,\n\"isLevel\": true\n}\n}\n],\n\"restrooms\": [\n{\n\"isAccessibleWithWheelchair\": true,\n\"entrance\": {\n\"properties\": {\n\"door\": {\n\"width\": {\n\"value\": 90,\n\"unit\": \"cm\",\n\"rawValue\": \">= 90 cm\",\n\"operator\": \">=\"\n}\n}\n}\n},\n\"turningSpaceInside\": {\n\"value\": 150,\n\"unit\": \"cm\",\n\"rawValue\": \">= 150 cm\",\n\"operator\": \">=\"\n},\n\"toilet\": {\n\"grabBars\": {\n\"onUsersLeftSide\": true,\n\"onUsersRightSide\": true\n},\n\"heightOfBase\": {\n\"value\": 65,\n\"unit\": \"cm\"\n}\n},\n\"washBasin\": {\n\"accessibleWithWheelchair\": true\n}\n}\n]\n}\n}\n}\n]\n}\n

To reference accessibility.cloud data records, use an URI scheme like this: https://ld.accessibility.cloud/[TYPE]/[ID] (where [TYPE] is a data type like PlaceInfo, and [ID] is the database record's ID).

And while there is no \u2018A11yJSON-LD\u2019 standard yet, GeoJSON-LD points in a direction how A11yJSON data records could be formatted as Linked Data at some point.

"},{"location":"faq/#i-like-openstreetmap-what-is-the-relation-between-a11yjson-and-openstreetmap-accessibility-tags","title":"I like OpenStreetMap \u2013 what is the relation between A11yJSON and OpenStreetMap accessibility tags?","text":"

We created A11yJSON to allow describing detailed accessibility infos for places and objects, and to make the data easy to exchange. OpenStreetMap is a fantastic database for geometry (and accessibility) data \u2013 but the data is difficult to consume if you are no expert with its tagging schemes.

For accessibility apps, this is an entry barrier that A11yJSON aims to solve.

Where Wheelmap.org uses A11yJSON in connection with OpenStreetMap, it doesn't aim to replace OSM's tagging, but allows to augment OpenStreetMap data with community-based and professional surveying \u2013 without tempering with OpenStreetMap's main dataset. Beyond this, it allows to invent features with new accessibiility criteria that don't fit OpenStreetMap's data structure or that would be difficult to fit into a working tagging proposal.

"},{"location":"faq/#can-you-add-new-criteria","title":"Can you add new criteria?","text":"

Please create an issue so we can discuss how to extend the format. Pull requests are welcome if a discussion happens first. Please ensure your pull requests includes tests!

"},{"location":"faq/#i-have-no-resources-to-convert-my-dataset-to-a11yjson-are-there-alternatives-to-share-the-data","title":"I have no resources to convert my dataset to A11yJSON. Are there alternatives to share the data?","text":"

If you want to make your data available to others but lack the resources to convert or migrate your data to A11yJSON, there is a way to do this. It\u2019s enough if your data schema has similarities to A11yJSON\u2019s attribute names and nesting.

Whether you use A11yJSON or a similar format, as long as your data is available as CSV, JSON, XML, or over a web API, you can publish the data on accessibility.cloud. The platform makes your data consumable as A11yJSON. The team offers support to help you get your datasets transformed and shared with others. (It\u2019s up to you if you want to share the dataset as open data, or limit access to specific organizations.)

"},{"location":"faq/#what-does-the-a11y-in-a11yjson-mean","title":"What does the \u2018A11y\u2019 in A11yJSON mean?","text":"

Like I18n and l10n, a11y is a shorthand for \u2018accessibility\u2019. 11 is the number of letters between the \u2018a\u2019 and the \u2018y\u2019 in the word \u2018accessiblity\u2019. Voice assistants pronounce it \u2018A-one-one-Y\u2019, and some people pronounce it \u2018A-eleven-Y\u2019. The most common pronunciation is the phonetic \u2018\u00e6laj\u2019. Some find this pronunciation plain wrong; others want the numeronym to die. It\u2019s quicker to type than the full a-word, though, so our hunch is that it\u2019s here to stay.

"},{"location":"faq/#i-cant-use-javascriptsimpleschema-can-i-still-use-a11yjson","title":"I can't use JavaScript/SimpleSchema. Can I still use A11yJSON?","text":"

Of course! Just integrate its documented data model into your own data types.

A11yJSON\u2019s TypeScript schema comes with runtime-types in SimpleSchema. This allows to auto-generate schemas in other description languages. We\u2019d love to see your contributions as npm modules or libraries for other ecosystems and languages, such as:

"},{"location":"i18n/","title":"Internationalization","text":"

In A11yJSON, you can localize all human-readable strings using JSON objects with IETF language tags as property names and the translations as property values:

{\n\"en\": \"Accessibility\",\n\"de\": \"Zug\u00e4nglichkeit\",\n\"zh-Hans\": \"\u65e0\u969c\u788d\",\n\"ase\": \"https://www.handspeak.com/word/search/index.php?id=1643\"\n}\n

This is optional - the specification allows to use a string, too.

We encourage you to localize your strings\u2014If available, you can even use IETF sign language tags (like ase for American Sign Language) for adding sign language localization using video, image or website URLs.

"},{"location":"x-contributing/","title":"Contributing","text":"

We're delighted you're reading this because we need volunteer developers to help this project come to fruition. \ud83d\udc4f

This project is not complete and will never be. We're open to your suggestions and comments, no matter if you have an idea for A11yJSON, if you want to share data on platforms like Wheelmap, or if you want to consume it in your own apps (for example, from accessibility.cloud).

Say hi via email or create an issue!

Please respect our Code of Conduct.

Even if you don\u2019t have the resources to contribute code, you can help A11yJSON by spreading the word.

"},{"location":"x-contributing/#pull-requests","title":"Pull requests","text":"

Before you make a pull request, please open an issue so we can discuss the contribution you want to make.

These steps guide you through contributing to this project:

Finally, send a GitHub Pull Request with a clear list of what you've done (read more about pull requests). If possible, your commits should be atomic (one feature per commit).

"},{"location":"x-contributing/#documentation-with-mkdocs-material","title":"Documentation with mkdocs-material","text":"

Prerequisites: Have a local Docker installation.

npm run docs:install        # Installs the mkdocs-material Docker image\nnpm run docs:live           # Run this while making changes in the docs/ Markdown files\nnpm run docs:deploy         # Deploys the documentation on GitHub pages\n
"},{"location":"best-practices/bad-examples-and-how-to-improve-them/","title":"Bad examples and how to improve them","text":""},{"location":"best-practices/bad-examples-and-how-to-improve-them/#dos-and-donts","title":"Do\u2019s and Don\u2019ts","text":"

The table below displays Do\u2019s and Don\u2019ts of accessibility characterizations.

Bad example Recommendation \u2018The place is not accessible in a wheelchair\u2019 \u2018There is one step at the entrance, its height is 2 inches\u2019 \u2018The place has offers for blind people\u2019 Explain the available facilities, e.g. audio description, tactile ground surfaces, or that a restaurant menu is available in Braille text. \u2018The sitemap is accessible for blind people\u2019 \u2018The sitemap is available in braille\u2019 or \u2018The sitemap has high contrast and uses big fonts\u2019 \u2018The staff is trained in accomodating people with disabilities\u2019 Explain which facilities or services exist in detail. \u2018Wheelchair users gave this place \u2157 stars\u2019 Explain the facilities wheelchair users can find at the place. Is there a step at the entrance? A wheelchair-accessible toilet? Do you need a special key to open the door? If this is too complex, you can offer a traffic light system like Wheelmap.org - but if you do so, the criteria for red/yellow/green must be easy to find in the UI, and the rating must be guided to get consistent data. If you use a traffic light system, use more than colors to differentiate between different levels of accessibility - your color-blind audience will thank you!"},{"location":"best-practices/bad-examples-and-how-to-improve-them/#examples-of-helpful-measurable-data-points","title":"Examples of helpful, measurable data points","text":""},{"location":"best-practices/copytext-accessibility/","title":"Copytext accessibility, the opportunity you likely missed","text":"

If you design user interfaces, you know that written text in your product has a significant impact on its user experience: Crafting concise copytext is tricky, but worth it. Vice-versa: mediocre copytext or typography ruins an app's credibility. If your app plays a vital role for somebody, faulty wording might have consequences that ruin their day.

Even if you know a tad about accessibility labels, you might have missed the following simple opportunity to improve your copytext.

"},{"location":"best-practices/copytext-accessibility/#increase-variance-in-titles","title":"Increase variance in titles","text":"

Product titles, service names, anything with a title: These words in your app can be the most crucial piece of information. Yet, most database models represent each name with one single string. Either this tring has a lot of details and keywords (if the SEO department won an argument), or is very short (if the UX/UI department wins).

For image uploads, alternative text input fields are beginning to appear. For example, on Twitter, you can add a caption text for an image you upload. Added captions make images more accessible - to humans and machines alike.

But why don't we routinely create multiple variants of a title itself? In the data model?

If you design the software for authoring this title content, nobody holds you back from displaying some input fields more. So if something in your data (let's say, a product) has a title attribute, how about letting your editors add variants of this title, too?

"},{"location":"best-practices/copytext-accessibility/#three-fresh-alternative-strings-for-your-consideration","title":"Three fresh alternative strings for your consideration","text":""},{"location":"best-practices/copytext-accessibility/#1-visually-polished-alternative-text-shorttitle","title":"1. Visually polished alternative text: shortTitle","text":"

This shortened name contains a shortcut, visually improved version of the original string. If you are lucky, there is a chance to auto-generated from the original extended title.

Go wild! Use Unicode or Emojis to shorten this version as much as possible, for example.

Having a short version of everything allows to fit more content on viewports. It yields uncluttered list UIs that are easy to parse visually. As you have variants, you can still show the variant with higher level of detail when needed.

"},{"location":"best-practices/copytext-accessibility/#2-alternative-text-for-text-to-speech-ttstitle","title":"2. Alternative text for text-to-speech: ttsTitle","text":"

This alternative text variant is made for text-to-speech assistants and search. Abbreviations are forbidden. You can't control the input data, but know the domain? Let the computer produce this alternative text: by replacing the most frequently used abbreviations from your business field with written words.

Why does this matter?

Abbreviations like the shortTitle proposal above make your UI easier to parse \u2013 but only visually. They break it for voice assistant users, though: While assistants do come with built-in intelligence to produce speech with a human-sounding intonation, they lack awareness of meaning. To them, a full-stop character can look like a sentence end. Imagine a 'sentence end' intonation and spoken pause in the middle of a product name, or an actual sentence. The text won't make any sense.

If you want to realize a search feature or make your content accessible to a search engine, non-abbreviated content works much better. You can reuse the speakable alternative text as a tooltip. This helps your seeing users to understand what your abbreviations mean.

Including fully speakable variants of your text makes your content useful and discoverable for Google Assistant, Amazon Alexa, Microsoft Cortana, Apple Siri, and even for search engines in general.

"},{"location":"best-practices/copytext-accessibility/#3-plain-language-alternative-text-plainlanguagetitle","title":"3. Plain language alternative text: plainLanguageTitle","text":"

Not everybody has the same level of language comprehension.

If you have titles describing complicated things: Do they exclude people who are no native speakers, have a learning impairment, or can't read? It can be a good idea to add a plain language variant in your data.

Alternatively, add a review step to your content authoring workflow to ensure that your strings are understandable.

"},{"location":"best-practices/copytext-accessibility/#what-does-non-optimized-copytext-sound-like","title":"What does non-optimized copytext sound like?","text":"

Imagine you'd design a web-based, magic, but entirely realistic railway departures display.

The HTML code could look like this:

<h1>King\u2019s Cross</h1>\n<ul>\n<li>Pl. 9 3/4 -> Hogsmeade</li>\n<li>Pl. 10 -> Eaglescliffe</li>\n</ul>\n

Do you have a working sense of hearing? Then listen to a voice assistant reading this sign aloud. If you are near a Mac, open your Terminal app and enter this:

say -v Dan \"Pl. 9 3/4 -> Hogsmeade\"

Then press Enter. Experience the cringy but mystifying situation of a British passenger listening to their VoiceOver assistant, which states aloud: \"Pee Ell Nine. Three Stroke Four to Hogsmeade.\" It sounds like an intriguing riddle! The pronunciation \"Platform nine three quarters to Hogsmeade\" would make more sense, however. It would assist the rider to reach the picturesque little village in time. \ud83e\uddd9\u200d\u2640\ufe0f

With some typographic polishing and accessibility labels, we achieve a visual and auditory improvement:

<h1>King\u2019s Cross</h1>\n<ul>\n<!-- Uses the `ttsTitle` field mentioned above -->\n<li aria-label=\"Platform Nine and Three Quarters, to Hogsmeade\">\n<!-- Uses the `shortTitle` field mentioned above -->\n        Pl. 9 3\u20444 \u2192 Hogsmeade\n    </li>\n<li aria-label=\"Platform 10, to Eaglescliffe\">\n        Pl. 10 \u2192 Eaglescliffe\n    </li>\n</ul>\n

Of course, the data behind this has to be entered manually. Entering text twice or three times costs a more time for each entered title. But compare this to your other UX-related efforts: This change is reasonable and straightforward, and those seconds can save the day for a user!

By the way: A transit app developer building a real display like the one above would probably source the data from a public GTFS dataset (GTFS is the most common data format for public transit information). Did you know this data format supports text-to-speech variants of names and titles. A good idea to copy!

For voice assistants, there is SSML, a markup language to describe how synthetic speech should sound like. A W3C task force wants to bring pronunciation features to HTML. Both markup languages even allow to fine-tune the voice's emotion.

If voice assistants are about to play a bigger role in our daily lives, getting emotional tonality right could turn out to be a competitive advantage.

Now is a good time to prepare for this.

"},{"location":"best-practices/describe-objects-not-people/","title":"Describe objects, not people","text":"

Here's the tl/dr. When designing accessibility-related apps or surveys,

"},{"location":"best-practices/describe-objects-not-people/#embrace-complexity","title":"Embrace complexity","text":"

While building Wheelmap.org, we learned that collecting \u2018yes/no/partial\u2019 attributes is not enough to be helpful. The world is complex. Personal abilities vary.

UX minimalism and efficiency are often cited when it comes to condensing the number of options in a UI. After all, doing so leads to better accessibility because your app gets simpler to use!

But it shouldn\u2019t come at the cost of meaning. If you design a restaurant finder, it should feel simple and look great, but the accessibility facts you display must be accurate and not misleading. While there is a always a trade-off between high level of detail and simplicity, at least the raw data you collect should include measurable properties. Interpretation can happen later, in a separate step.

"},{"location":"best-practices/describe-objects-not-people/#assume-less","title":"Assume less","text":"

While analyzing data sets, we sometimes stumble upon data that characterizes a place as being (not) accessible for a specified target group with the best intentions. Claims include:

Superficially, these statements look helpful. But they aren\u2019t:

A rule of thumb: for good data quality, leave the decision what's accessible to your users. Surveying and showing measurable, countable, observable criteria is better than trying to \u2018help\u2019 people by pre-interpreting it.

Doing so has a pleasant side effect: It\u2019s much easier to agree on a countable measurement like \u201cthe main entrance has 2 steps\u201d than on a fuzzy term like \u201cpartially accessible.\u201d

"},{"location":"best-practices/rating-scales/","title":"Rating scales","text":"

If possible, avoid UIs that only display a rating scale and no details. While a rating scale can help ranking places, it doesn't fit the use case of matching accessibility offers and individual needs very well.

"},{"location":"describing-objects/0-model/","title":"Core Data Model","text":"

This is a list of data structures that A11yJSON specifies.

They are meant to be interfaces in the software development sense: This means you can either use them as they are, or mix them into your own model.

"},{"location":"describing-objects/0-model/#accessibility","title":"Accessibility","text":"

Describes the physical (and sometimes human rated) accessibility of a place.

NameTypeaccessibleWithPersonalProfileambientNoiseLevelVolume

Ambient noise level in dB(A) relative to a reference pressure of 0.00002 Pa. Median over a 10-second period at least.

animalPolicyAnimalPolicy

Object describing the owner's policy regarding visitors bringing animals with them.

appointmentPoliciesAppointmentPolicy[]

Describes how you can get an appointment for this place, or if you need one.

availableEquipmentundefined\u00a0|\u00a0EquipmentProperties[]

Information about the place's equipment.

Use this property for equipment that does not need to be locatable in a specific geolocation, but belongs to a place.

desksundefined\u00a0|\u00a0Desk[]

Describes the accessibility of desks in the place. null indicates there are no desks, undefined or missing property indicates unknown.

entrancesundefined\u00a0|\u00a0Entrance[]

Describes the accessibility of entrances to the place.

hasAirConditioningboolean

Determines if there is air conditioning installed and actively used.

hasBackgroundMusicboolean

Determines if there is background music playing.

hasBrailleSignageboolean

true if there is braille navigation for/to this place, false if not.

hasInductionLoopboolean

true if the venue has induction loops installed in its functional units where this is relevant.

hasLowStimulusEnvironmentboolean

true if the venue has a designated low-stimulus room or environment, false if not. Can help with hypersensitivity to sensory input.

hasPatientLifterboolean

true if the venue has a patient lifter (MedTech) installed, false if not..

hasSoundAbsorptionboolean

Determines if there is sound absorption installed.

hasTactileGuideStripsboolean

true if the venue has tactile guide strips on the floor or at the walls, false if not. undefined or missing property indicates unknown.

hasTactileSignageboolean

true if there is tactile navigation for/to this place, false if not.

interactions Object with one or more of these keys:

arrive book buy change checkIn checkOut eat explore getDrinks getFood getService getTreatment listen main order orderAnnouncement pay pickUpOrder play read rent roam see sell use useLockers useService visit watch watchMovies watchPlays workHere

Values must be of type InteractionMode.

An object that indicates how the object can be interacted with, or how you can engange in the main function of a place or thing.

The keys of this object are the interaction types, and the values are InteractionMode objects.

isQuietboolean

Determines if the venue is quiet (subjectively, by the assessor). If possible, use the ambientNoiseLevel property instead.

isWellLitboolean

Determines if the venue is well lit (subjectively, by the assessor). Will be replaced by a measurable lumen value in the future.

mediaundefined\u00a0|\u00a0Media[]

Information about media. null indicates there is no media, undefined or missing property indicates unknown.

offersActivitiesForPeopleWithPersonalProfileoffersTreatmentWithoutLeavingWheelchairboolean

true for healthcare providers that offer that wheelchair users do not have to leave their wheelchair for treatment, false if this is not possible.

parkingundefined\u00a0|\u00a0Parking

Information about parking facilities at/around the venue. null indicates there is no parking, undefined or missing property indicates unknown.

partiallyAccessibleWithPersonalProfilepathwaysundefined\u00a0|\u00a0Pathways

Describes the accessibility of pathways to the place or inside the place\u2019s boundaries (mixed)

pathwaysFromEntranceundefined\u00a0|\u00a0Pathways

For places inside other places (e.g. a room inside a building).

Describes the accessibility of pathways to the place. If an extra accessible entrance exists, describe pathways from there to this place.

pathwaysInsideundefined\u00a0|\u00a0Pathways

Describes the accessibility of pathways to the place or inside the place\u2019s boundaries (mixed)

paymentundefined\u00a0|\u00a0Payment

Information about payment at the place. null indicates there is no payment possible/required, undefined or missing property indicates unknown.

queueSystemundefined\u00a0|\u00a0QueueSystem

Information about the place's queue system.

restroomsundefined\u00a0|\u00a0Restroom[]

Describes the accessibility of restrooms that belong to the place.

roomsundefined\u00a0|\u00a0Room[]

Describes the accessibility of rooms that belong to the place.

serviceContactLocalizedStringsignageSystemsSignage[]

Describes local signage systems. If multiple different systems are used, describe them all.

smokingPolicyOne of the following strings:

allowedEverywhere dedicatedToSmoking inIsolatedArea inSeparateArea onlyOutside prohibited

Object describing the owner's smoking policy.

staffundefined\u00a0|\u00a0Staff

Information about the service staff. null indicates there is no staff, undefined or missing property indicates unknown.

surfaceundefined\u00a0|\u00a0Surface

Object describing the place's ground condition. If there are very different ground conditions, you can create multiple places and nest them.

tablesundefined\u00a0|\u00a0Desk[]

Information about tables (for example in a restaurant). null indicates there are no tables, undefined or missing property indicates unknown.

wheelchairAccessibilityGradeOne of the following strings:

fully not partially

Describes the general wheelchair accessibility of the place. This is a human-rated value.

wheelchairPlacesundefined\u00a0|\u00a0WheelchairPlaces

Information about wheelchair places. null indicates there are no places, undefined or missing property indicates unknown.

wifiWifiAccessibility

Describes the Wifi availability and accessibility at the place.

"},{"location":"describing-objects/0-model/#actionmode","title":"ActionMode","text":"

Describes necessary abilities and modes inputting information.

NameTypeaccessArray of one or more of these strings:

customers delivery designated disabled emergency employees no permissive permit private public residents yes

Who has access to this action?

activationForceForce

Force needed for the described input method.

activationTimeIntervalTimeInterval

Time interval needed for activation/engagement.

apiDocumentationUrlLocalizedString

The input API documentation URL.

attentionSpanTimeInterval

Attention time needed for activation/engagement.

bodyHeightLength

A supported body height.

bodyMassMass

A supported body weight.

brailleKeyboardOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The ability to write textual content with a braille keyboard is supported or needed.

brailleTextOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The ability to read braille is supported or needed.

burnHazardboolean

There is a burn hazard.

cableOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

A cable is supported or needed.

capacitiveOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The action uses a capacity sensor, for example a touch sensor.

carryWeightOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The ability to carry a weight is supported or needed.

clapOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

Clapping your hands is supported or needed.

clickOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The ability to click a button with a finger is supported or needed.

descriptionLocalizedString

Describes the output as human-readable text.

directionOne of the following strings:

backward clockwise counterclockwise down forward left right up

The direction of the action, relative to the body.

directionAxisOne of the following strings:

axial coronal sagittal

The direction axis of the action, relative to the body.

doubleClickOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The ability to click a button with a finger is supported or needed.

dragOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The ability to drag an object is supported or needed.

dragAndDropGestureOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The ability to do a virtual drag-and-drop finger/mouse gesture is supported or needed.

educationLevelNumber

Education level needed to understand the action.

http://www.ibe.unesco.org/en/glossary-curriculum-terminology/l/levels-education

eyeTrackerOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The ability to use an eye tracker is supported or needed.

faceRecognitionOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The input uses face recognition.

feedbackPerceptionMode

How is feedback given for an input?

fingerprintScanOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The input uses a fingerprint scanner.

handwritingOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The ability to write textual content by hand is supported or needed.

hapticOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

Haptic input is supported or needed.

headPointerOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The ability to use a head pointer is supported or needed.

headphoneOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

Headphones are supported or needed.

highContrastboolean

The input has high contrast elements, for example around buttons.

instructionsUrlLocalizedString

URL describing how to use the input mechanism.

irisScanOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The input uses an iris scanner.

isEasyToFindboolean

true if the item is easy to find, false if people might face difficulties trying to find the item, or undefined if this is unknown or irrelevant.

isEasyToUnderstandboolean

true if the input is easy to understand, false if people might face difficulties trying to understand how the input works, or undefined if this is unknown or irrelevant.

joystickOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The ability to use a joystick is supported or needed.

keyboardOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The ability to write textual content by typing on a keyboard is supported or needed.

keypadOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The ability to write numbers by typing on a keypad is supported or needed.

knobOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The action uses a knob.

knurledboolean

The input has a knurled surface, for example around buttons.

languagesstring[]

Input languages supported.

leftHandedOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

You can or must give input with your left hand.

lickOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The ability to lick an object with your tongue is supported or needed (e.g. a lollipop)

morseCodeOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

Morse code input is supported or needed.

mouseOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The ability to use a mouse is supported or needed.

moveOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The ability to move an object is supported or needed.

nameLocalizedString

Describes which output is meant. Helpful if there are multiple outputs.

necessaryClimbHeightLength

Height you need to be able to climb over (for obstacles)

necessaryEyeHeightLength

How tall do you have to be to perceive the content/output/signal.

necessaryGripHeightLength

The height you need to grip to perceive the content/output/signal.

optionalboolean

true if the action is optional, false if it is required.

paperOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

Handling paper is supported or needed.

pedalOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The ability to use a pedal is supported or needed.

photoOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The input makes a photo.

pinchOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The ability to pinch an object is supported or needed.

pinchFingerGestureOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The ability to use a pinch finger gesture is supported or needed.

pressOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The ability to apply force to an object is supported or needed.

pullSwitchOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The ability to use a pull switch is supported or needed.

pullstringOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The ability to use a pullstring is supported or needed.

pushButtonOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The ability to use a push button is supported or needed.

pushSwitchOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The ability to use a push switch is supported or needed.

qrCodeOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

A QR code is supported or needed.

raisedTextOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

true if the controls or signs have raised letters, false if not.

requiredboolean

false if the action is optional, true if it is required.

rhythmOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The ability to use rhythm input is supported or needed.

rightHandedOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

You can or must give input with your right hand.

rotateOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The ability to rotate an object is supported or needed.

rotateTwoFingersGestureOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The ability to use a two-finger rotation gesture is supported or needed.

scratchOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The ability to scratch is supported or needed.

screenOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

A screen is supported or needed.

signLanguageOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The ability to use sign language is supported or needed.

singleHandedOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

You can or must give input with one hand.

sipAndPuffOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The ability to use a sip and puff switch is supported or needed.

smellOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The ability to smell is supported or needed.

soundRecordingOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The input makes a sound recording.

speakOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The ability to speak is supported or needed.

squeezeOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The ability to squeeze an object is supported or needed.

stateCountnumber

State count for a button or switch, for example 2 for a toggle button, 3 for a 3-way button.

swipeFingerGestureOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The ability to use a swipe finger gesture is supported or needed.

swipeThreeFingersGestureOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The ability to use a three-finger swipe gesture is supported or needed.

swipeTwoFingersGestureOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The ability to use a three-finger swipe gesture is supported or needed.

tactileOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

Tactile input is supported or needed.

tactileGuidesOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The input has tactile guides, for example around buttons.

tapOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The ability to tap an element with a finger is supported or needed.

tearApartOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The ability to tear something apart is supported or needed.

techSufficientTechCombination[]

Technology combinations that are sufficient to make use of the output.

techSupportedTechCombination[]

Technologies that are sufficient to make use of the output.

tiltOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The ability to tilt an object is supported or needed.

tongueOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The ability to move an object with your tongue is supported or needed.

touchOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

Touch input is supported or needed.

touchscreenOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

Touchscreen input is supported or needed.

trackballOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The ability to use a trackball is supported or needed.

tripleClickOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The ability to click a button with a finger is supported or needed.

turnOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The ability to turn an object is supported or needed.

turnKnobOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The ability to turn a knob is supported or needed.

twoHandedOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

You can or must give input with both hands.

urlLocalizedString

URL where you can use the input mechanism, e.g. on your phone.

videoOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The input makes a video.

visualRecognitionOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

true if the input user interface needs or supports visual input, false if not.

voiceActivationOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

true if the control is activated by voice, false if not.

walkOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

Walking is supported or needed.

waveOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

Waving your hands is supported or needed.

weightMass

A weight you need to be able to lift.

wheelOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The input features a wheel.

wirelessOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The input is wireless.

"},{"location":"describing-objects/0-model/#animalpolicy","title":"AnimalPolicy","text":"NameTypeallowsAssistanceDogsboolean

true if the place allows visitors to bring assistance dogs, false if bringing them is explicitly prohibited, undefined if the policy is unknown.

allowsDogsboolean

true if the place allows visitors to bring dogs in general, false if bringing them is explicitly prohibited (with exception of dogs specified by allowsGuideDogs and allowsTherapyAnimals), undefined if the policy is unknown.

allowsGuideDogsboolean

true if the place allows visitors to bring guide dogs, false if bringing them is explicitly prohibited, undefined if the policy is unknown.

allowsServiceAnimalsboolean

true if the place allows bringing any kind of animal, false or undefined if not or if there are exceptions.

dogsNeedMuzzleboolean

true if the place denies entry to visitors bringing a dogs without muzzles, false if dogs without muzzles are explicitly allowed.

suppliesWaterForPetsboolean

true if the place supplies water for accompanying animals, false if explicitly not, or undefined if unknown.

"},{"location":"describing-objects/0-model/#appointmentpolicy","title":"AppointmentPolicy","text":"

Mixin to link InteractionMode objects to your model.

NameTypeaccessArray of one or more of these strings:

customers delivery designated disabled emergency employees no permissive permit private public residents yes

Who can make this kind of appointment.

allowsWalkInboolean

true if you need no appointment to visit the place.

bookingURLstring

The URL to a page where the appointment can be booked.

descriptionLocalizedString

Describes this policy as text string, e.g. \u2018home visits possible if you are over 60\u2019. Use the other fields only if the described place has only one typical policy (like at a hairdresser).

equipmentPropertiesEquipmentProperties

If the appointment needs a specific equipment, it is described here.

feesCurrencyValue[]

The amount of money that is charged for the appointment.

homeVisitboolean

true if the appointment can be at the person\u2019s home.

inPersonOnSiteboolean

true if the appointment can be made in person.

interactions Object with one or more of these keys:

arrive book buy change checkIn checkOut eat explore getDrinks getFood getService getTreatment listen main order orderAnnouncement pay pickUpOrder play read rent roam see sell use useLockers useService visit watch watchMovies watchPlays workHere

Values must be of type InteractionMode.

An object that indicates how the object can be interacted with, or how you can engange in the main function of a place or thing.

The keys of this object are the interaction types, and the values are InteractionMode objects.

languagesstring[]

The languages that are spoken by the person who is responsible for the appointment.

limitationsDescriptionLocalizedString

Describes limitations that apply to this policy, e.g. \u2018only for people with a disability\u2019.

needsAppointmentForAssistantboolean

true if appointments with an assistant are possible, but need to be booked separately.

openingHoursstring

Opening hours in the format described at https://wiki.openstreetmap.org/wiki/Key:opening_hours.

paymentTypesPayment[]

The payment method that is used to pay the amount of money. Use fees instead, if possible.

phoneCallboolean

true if the appointment can be made by video call.

seatSeat

If a seat is associated with this appointment, it is described here.

seatCountnumber

How many seats are available for this appointment.

videoCallboolean

true if the appointment can be made by video call.

"},{"location":"describing-objects/0-model/#currencyvalue","title":"CurrencyValue","text":"

Describes an amount of paid money in a specific currency, per specified unit, for a specific kind of access to a service or product.

Can represent free availability, by setting amount to 0, and not defining currency.

Don't use this for very small amounts of money (like sub-cent dollar amounts) as this uses no BigDecimal arithmetic.

The amount property is required.

NameTypeaccessArray of one or more of these strings:

customers delivery designated disabled emergency employees no permissive permit private public residents yes

For whom is this amount of money paid?

amount*number

The amount of money.

currencystring

The currency in which the amount is specified, as three-letter acronym.

Can be undefined if the amount is zero.

paymentTypesPayment[]

The payment method that is used to pay the amount of money.

perQuantity

Unit that is paid with the amount of money, e.g. \"30 minutes\", \"1 hour\", '1 GB', '3 pieces'

"},{"location":"describing-objects/0-model/#desk","title":"Desk","text":"

Describes a desk / table / cash desk / reception counter.

NameTypedepthBelowLength

How much space is there under the desk? This can be used to determine if a wheelchair user can sit at the desk.

fixedHeightLength

How high is the desk? For variable-height desks, use minimalHeight and maximalHeight instead.

This can be used to determine if a wheelchair user can sit at the desk.

fixedHeightBelowLength

How much space is there below the desk? This can be used to determine if a wheelchair user can sit at the desk.

interactions Object with one or more of these keys:

changeHeight checkIn checkOut close enqueue getFood getReturn getShoppingBag handover handoverLuggage lock open openAndClose pay ringBell savePreset scan selfCheckout unlock unlockAndLock

Values must be of type InteractionMode.

An object that indicates how the object can be interacted with, or how you can engange in the main function of a place or thing.

The keys of this object are the interaction types, and the values are InteractionMode objects.

intercomundefined\u00a0|\u00a0Intercom

Information about an intercom at this desk, if applicable.

null indicates there is no intercom.

isRollUnderboolean

true if the desk can be rolled under, false if not. This can be used to determine if a wheelchair user can sit at the desk.

maximalHeightLength

How high is the desk maximally? This is only for variable-height desks. Use fixedHeight for fixed-height desks. This can be used to determine if a wheelchair user can sit at the desk.

minimalHeightLength

How high is the desk minimally? This is only for variable-height desks. Use fixedHeight for fixed-height desks. This can be used to determine if a wheelchair user can sit at the desk.

nameLocalizedString

Name of the entrance (helpful if there are multiple entrances).

paymentundefined\u00a0|\u00a0Payment

Information about payment at this desk.

null indicates there is no payment possible/required.

queueSystemQueueSystem

Describes an associated queue system.

turningSpaceInFrontLength

How much space is there in front of the desk? This can be used to determine if a wheelchair user can sit at the desk.

widthBelowLength

How much space is there below the desk? This can be used to determine if a wheelchair user can sit at the desk.

"},{"location":"describing-objects/0-model/#door","title":"Door","text":"

Describes the door of a place's entrance or to one of its facilities (e.g. to a shower, or to an elevator)

NameTypeaccessArray of one or more of these strings:

customers delivery designated disabled emergency employees no permissive permit private public residents yes

Defines who this door is for. See https://wiki.openstreetmap.org/wiki/Key:access for more information.

colorsstring[]

Describes the colors of the door itself, as HTML color strings. Don't include the door frame or door marking colors in this attribute, but use markingColors and doorFrameColors instead.

This can make the door easier to find.

If there are multiple colors, it might be enough to describe the most dominant one.

If there are multiple colors, but there is no predominant color, describe all of them.

This allows to determine the contrast to the wall and the door frame.

Its best to determine the color at daylight.

For glass doors, you can use 'transparent' as color.

doorFrameColorsstring[]

Describes the colors of the door frame, if existent. If they are similar, describe only one color. Use HTML color strings here.

This can make the door easier to find, and allows to determine the contrast to the door and the wall.

If there are multiple colors, it might be enough to describe the most dominant one.

If there are multiple colors, but there is no predominant color, describe all of them.

Its best to determine the color at daylight.

doorOpensToOutsideboolean

true if the door opens to the outside, false if it opens to the inside.

doorbellTopButtonHeightLength

Height of the door bell's top button. If there is a lowered extra door bell (often marked with a wheelchair user symbol), use the height of this one's top button.

grabBarsGrabBars

Describes grab bars in front of the door.

hasClearMarkingOnGlassDoorboolean

true if the door is a glass door, but is marked, false if the door is an unmarked glass door, undefined if it is no glass door or the condition is unknown.

hasErgonomicDoorHandleboolean

true if the door's handle is easy to use (subjectively by the assessor), false if not.

hasIntercomboolean

true if the door has an intercom system, false if not.

hasProximitySensorboolean

true if the door has a proximity sensor that triggers the opening mechanism, false if not.

hasSwitchboolean

true if the door has a switch that triggers the opening mechanism, false if not.

hasVisuallyContrastedFrameboolean

true if the door frame is visually contrasted to its surrounding wall, false if not.

interactions Object with one or more of these keys:

close lock open openAndClose ringDoorbell unlock unlockAndLock

Values must be of type InteractionMode.

An object that indicates how the object can be interacted with, or how you can engange in the main function of a place or thing.

The keys of this object are the interaction types, and the values are InteractionMode objects.

intercomIntercom

Describes the intercom system of the door.

isAlwaysOpenboolean

true if the door is there, but always open, false if not.

isAutomaticboolean

true if the door opens automatically, false if not. The mechanism for opening the door is defined in other attributes.

isAutomaticOrAlwaysOpenboolean

true if the door is always open or automatic, false if it has to be opened manually.

isEasyToHoldOpenboolean

true if the door is easy to hold open (subjectively by the assessor), false if not.

isGlassDoorboolean

true if the door is a glass door, false if not.

isRevolvingboolean

true if the door is revolving (like a carousel), false if not.

isSlidingboolean

true if the door is a sliding door, false if not.

isTurnstileboolean

true if the door is a turnstile, false if not.

isVisuallyContrastedboolean

true if the door is visually contrasted to its surrounding wall, false if not.

markingColorsstring[]

Describes the colors of a door marking, if existent, as HTML color strings.

This can make the door easier to find.

If there are multiple colors, it might be enough to describe the most dominant one.

If there are multiple colors, but there is no predominant color, describe all of them.

Its best to determine the color at daylight.

nearbyWallColorsstring[]

Describes the colors of the walls right next the door. Use HTML color strings here.

This can make the door easier to find, and allows to determine the contrast to the door frame and the door.

Its best to determine the color at daylight.

needsDoorbellboolean

true if you need to ring a doorbell to pass the entrance, false if not.

needsEuroKeyboolean

true if you need a Euro key to open the door, false if it's in Europe outside UK and works without a key, undefined if it is unknown or needs a different key.

needsIntercomboolean

true if you need to use the intercom to pass this door, false if not.

needsKeyCardboolean

true if you need to use a keycard to pass the entrance, false if not.

needsKeyPadboolean

true if you need to use a key pad to pass this door, false if not.

needsRadarKeyboolean

true if you need a RADAR key to open the door, false if it's in the UK but you need no key or needs a different key.

needsSwitchToOpenboolean

true if the door needs pressing a switch to open, false if not.

thresholdHeightLength

Height of the door\u2019s threshold / sill / step inside the door frame.

thresholdIsRoundedboolean

true if the threshold has rounded edges, false if not.

turningSpaceInFrontLength

Turning space in front of the door.

widthLength

Width of the door.

"},{"location":"describing-objects/0-model/#entrance","title":"Entrance","text":"

Describes an entrance to a PlaceInfo.

NameTypegeometryPointGeometry

The physical location of the entrance in WGS84 coordinates. Currently only a GeoJSON PointGeometry is supported.

propertiesEntranceProperties"},{"location":"describing-objects/0-model/#entranceproperties","title":"EntranceProperties","text":"

Describes an entrance to a place.

NameTypedoorundefined\u00a0|\u00a0Door

Object that describes the entrance\u2019s door. null if there is no door.

elevatorEquipmentIdstring

reference to the equipment id if this entrance is an elevator (on accessibility.cloud)

hasFixedRampboolean

true if this entrance has a fixed ramp, false if not.

hasHoistboolean

true if there is a hoist / wheelchair lift, false if not.

hasRemovableRampboolean

true if there is a removable ramp, false if not. If there is a fixed ramp, this property MUST be undefined.

hasSignageboolean

If this entrance is NOT the main entrance: Is this entrance connected to the main entrance, and is there signage that points to this entrance?

intercomEquipmentIdstring

reference to the equipment id of the intercom of this entrance (on accessibility.cloud)

isLevelboolean

true if this entrance has no steps and needs no ramp, false if there are steps or a ramp.

isMainEntranceboolean

true if this is the main entrance, false if not.

nameLocalizedString

Name of the entrance (helpful if there are multiple entrances).

needsAppointmentboolean

true if you need an appointment to enter, false if not.

placeInfoIdstring

reference to the place that this entrance is connected to (on accessibility.cloud)

slopeAngleSlope

How steep is the ground at the entrance?

stairsStairs

Object that describes stairs that you have to take to use the entrance.

"},{"location":"describing-objects/0-model/#equipmentinfo","title":"EquipmentInfo","text":"

Describes a facility equipment that is part of a place, like an elevator, an escalator, or a sitemap. Can contain attributes that are realtime updated to indicate operational status.

NameTypegeometryPointGeometry

The physical location of the place in WGS84 coordinates. Currently only a GeoJSON PointGeometry is supported.

propertiesEquipmentProperties"},{"location":"describing-objects/0-model/#equipmentproperties","title":"EquipmentProperties","text":"

Mixin to link InteractionMode objects to your model.

NameTypeaccessModestring[]

Access modes supported by this equipment.

accessModeSufficientstring[]

Access mode combinations that allow understanding and using the equipment.

accessibilityControlstring[]

The accessibility controls that allow controlling this equipment.

accessibilityFeaturestring[]

Indicates features that allow understanding or using the equipment.

accessibilityHazardstring[]

Indicates hazards that may be an obstacle to understanding or using the equipment.

alternativeRouteInstructionsLocalizedString

Short alternative routing instructions for travelers when they cannot use this facility.

The text MUST NOT have abbreviations to be readable aloud by a screen reader or voice assistant.

Software using this attribute MUST NOT assume that the equipment is out of operation if it the attribute is defined.

cabinLengthLength

Length / depth of the cabin when facing the equipment\u2019s entrance, or undefined if the equipment has no cabin. For a hoist, this refers to the hoist platform itself.

cabinWidthLength

Width of the cabin when facing the equipment\u2019s entrance, or undefined if the equipment has no cabin. For a hoist, this refers to the hoist platform itself.

categoryOne of the following strings:

bed bodyScanner ctScanner elevator escalator flushMechanism hoist intercom luggageScanner movingWalkway mriScanner powerOutlet ramp sitemap stairLift switch ticketVendingMachine treatmentChair ultrasoundScanner vendingMachine wardrobe wheelchairLift xrayMachine

Type of the equipment or facility.

descriptionLocalizedString

Describes where the equipment is located. If only one description string is technically possible to maintain, it MUST not contain any abbreviations to allow being readable aloud by screen readers or voice assistants.

disruptionSourceImportIdstring

Data source ID of a secondary source used for realtime status info on accessibility.cloud

doorDoor

Object describing the door to the equipment, or undefined if there is no door.

emergencyIntercomIntercom

Describes the intercom system for emergency calls.

hasAdjustableHeightboolean

true if the equipment's height is adjustable, false if not.

hasDoorsAtRightAnglesboolean

true if the equipment has doors at right angles to each other.

hasDoorsInBothDirectionsboolean

true if the equipment has doors in two directions, so wheelchair, rollator, bike or pushchair users do not have to move backwards to exit.

hasExternalFloorSelectionboolean

For elevators. true if the elevator needs a command to be entered outside the elevator, false if not.

hasLandingsboolean

true if the equipment has a landing platform, false if not. Helpful for escalators.

hasMirrorboolean

For elevators. true if the elevator has a mirror, false if not.

hasVisualEmergencyAlarmboolean

true if the equipment has a visual emergency alarm, false if not (for example, inside elevators).

heightOfControlsLength

Height of the lowest working controls that are needed to operate this equipment. undefined if the equipment needs no controls.

ids Object with one or more of these keys:

string

Values must be of type string.

IDs in other data sources that are linked to this equipment, indexed by schema/context.

interactions Object with one or more of these keys:

arriveAtFloor buy call callEmergency disable enable engage findYourDestination flush getTreatment handover locateYourself ride scan selectFloor sell sleep toggle travel understand use

Values must be of type InteractionMode.

An object that indicates how the object can be interacted with, or how you can engange in the main function of a place or thing.

The keys of this object are the interaction types, and the values are InteractionMode objects.

isAccessibleWithWheelchairboolean

true if the equipment is fully operatable for/by a person in a wheelchair, false if not. If you can, please don't use this attribute. Instead, use more specific attributes.

isIndoorsboolean

true if the equipment is indoors, false if it\u2019s fully or partially outdoors.

isSuitableForBicyclesboolean

For elevators. true if the elevator can carry a bicycle, false if not.

isWorkingboolean

Live status update.

true if the equipment is in operation, false if not, or undefined if it is unknown. When reading this attribute for showing it in a user interface, the user interface MUST show the operational status as \u2018unknown\u2019 if the status could be out of date, for example if it is older than 10 minutes.

When displaying the operational status, user interfaces SHOULD show the date saved in stateLastUpdate next to the operational status additionally for transparency.

languagesstring[]

Languages of the equipment\u2019s visible controls and/or voice output.

longDescriptionLocalizedString

Contains the same information as description, but in a longer form which can be read out by a screen reader or voice assistant.

Words MUST be written out fully (e.g. \u2018direction\u2019 instead of \u2018dir.\u2018, \u2018ground\u2019 instead of \u2018G\u2018, \u2018platform\u2019 instead of \u2018pl.\u2019). The field MUST NOT contain any symbols (e.g. ->, <->, or \u2192).

This MUST be suitable for people who have a visual impairment or use a screen reader or voice assistant (e.g. Amazon\u2019s Alexa).

If only one description field can be used for technical reasons, then the written-out form MUST be given preference, because a short form can be generated from the long form more easily than the other way around.

This attribute SHOULD be used as aria-label-attribute in web content.

manufacturerNameLocalizedString

Official name of the company that manufactured the equipment.

manufacturerSerialNumberstring

Manufacturer serial number of the equipment / facility.

Intentionally not localizable to allow matching with other data, e.g. from manufacturer's own APIs.

originalDatastring

Original source data for this equipment (for easier debugging)

originalIdstring

ID of this equipment in the original data source. To simplify communication with the operator, it\u2019s a good idea to use the operator facility management system ID here.

originalPlaceInfoIdstring

ID of the place that this equipment belongs to (unique in the original data source)

outOfOrderReasonLocalizedString

Live status update.

Reason why the equipment is not in operation. MUST be undefined if the equipment is in operation.

placeInfoIdstring

Place info ID that this equipment belongs to (accessibility.cloud ID)

placeSourceIdstring

ID of the place data source that this equipment belongs to (accessibility.cloud ID)

plannedCompletionDateDate

Live status update.

If isWorking is false, this is the planned date when the equipment will be in operation again.

MUST be undefined if the facility is currently in operation.

sameAsstring[]

URLs of this equipment in external data sources, for example in GTFS, IMDF or other sources.

seatSeat

Object describing the seat of the equipment, or undefined if there is no seat.

servicePhoneNumberstring

Phone number where a service operator can be reached for help using this facility.

serviceWebsiteUrlstring

URL pointing to a website that describes the equipnent or it's current operational status.

shortDescriptionLocalizedString

Contains the same information as description, but in a shorter form, to save space on the screen. This CAN contain Unicode characters such as \u27f7 or \u2198\ufe0e as well as abbreviations (e.g. \u2018pl.\u2019 instead of \u2018platform\u2019, \u2018dir.\u2019 instead of \u2018direction\u2019).

sourceIdstring

Data source ID on accessibility.cloud

sourceImportIdstring

Data import ID on accessibility.cloud

stateExplanationLocalizedString

Live status update.

Information about the current state. If isWorking is true, this can show information about future planned maintenance or construction work rendering this facility unusable.

The text MUST NOT have abbreviations to be readable aloud by a screen reader or voice assistant.

This field SHOULD only be used if a separation into individual disorder attributes (state, outOfOrderReason) is not technically possible (e.g. when existing APIs can not be further developed and users are only given one text field to describe the problem.)

stateLastUpdateDate

Live status update.

Date when the isWorking flag was updated by a realtime system.

"},{"location":"describing-objects/0-model/#grabbars","title":"GrabBars","text":"

Describes grab bars or hand rails.

The continuous property is required.

NameTypecontinuous*boolean

Indicates if the grab bars are continuous or not. Helpful for stair grab rails.

distanceBetweenBarsLength

Indicates how far the bars are apart.

foldableboolean

true if the grab bars can be folded, false if not..

inFrontOfTheUserboolean

true if there is a folding handle in front of the user, false if not.

Seen from the perspective

interactions Object with one or more of these keys:

adjust findYourDestination foldDown foldUp localizeYourself

Values must be of type InteractionMode.

An object that indicates how the object can be interacted with, or how you can engange in the main function of a place or thing.

The keys of this object are the interaction types, and the values are InteractionMode objects.

onUsersLeftSideboolean

true if there is a folding handle on left side, false if not.

Seen from the perspective

onUsersRightSideboolean

true if there is a folding handle on right side, false if not.

Seen from the perspective

topHeightFromFloorLength

Indicates how high the grab bars are (top edge, measured from the floor).

"},{"location":"describing-objects/0-model/#interactable","title":"Interactable","text":"

Mixin to link InteractionMode objects to your model.

NameTypeinteractions Object with one or more of these keys:

InteractionType

Values must be of type InteractionMode.

An object that indicates how the object can be interacted with, or how you can engange in the main function of a place or thing.

The keys of this object are the interaction types, and the values are InteractionMode objects.

"},{"location":"describing-objects/0-model/#interactionmode","title":"InteractionMode","text":"

Many people with disabilities face barriers when interacting with places or things. These stem from the physical environment, the design of the object, or the way the interaction with the object or place is designed.

The Interactable model allows to describe how you can interact with a thing or engange in the key purposes of a place, and which abilities you need for this.

Attributes typically contain

This allows for UIs that adapt to the user's needs and abilities, or to provide usage descriptions that work for everyone.

NameTypeactionActionMode

Action modes that are absolutely necessary to facilitate the interaction, e.g. \u2018pushing a button\u2019.

descriptionLocalizedString

Describes the output as human-readable text.

languagesstring[]

Input languages supported.

nameLocalizedString

Describes which output is meant. Helpful if there are multiple outputs.

optionalboolean

true if the interaction is optional, false if it is required.

perceptionPerceptionMode

Perception modes supported to facilitate the interaction.

requiredboolean

false if the interaction is optional, true if it is required.

"},{"location":"describing-objects/0-model/#intercom","title":"Intercom","text":"

Describes a system to communicate over distance, e.g. a door intercom next to a doorbell.

NameTypeambientNoiseLevelVolume

The ambient noise level when using the intercom.

audioIsComprehensibleboolean

true if intercom system\u2019s audio quality is good enough for understanding speech, false if not.

descriptionLocalizedStringhasAudioboolean

true if the door has an audio intercom system, false if not.

hasVideoCameraboolean

true if the door has a video intercom system, false if not.

hasVisualFeedbackOnConnectionboolean

true if the intercom system has a visual feedback, false if not. Visual feedback might be a screen or light that displays if a connection is established.

interactions Object with one or more of these keys:

call close hangUp identify open ring

Values must be of type InteractionMode.

An object that indicates how the object can be interacted with, or how you can engange in the main function of a place or thing.

The keys of this object are the interaction types, and the values are InteractionMode objects.

necessaryGripHeightLength

The height of the top control element of the intercom system.

needsKeyPadboolean

true if you need to use a key pad to pass this door, false if not.

"},{"location":"describing-objects/0-model/#media","title":"Media","text":"

Describes a media unit provided at this place, for example an exhibit at a museum or a movie in a cinema.

NameTypeaccessModestring[]

Access modes supported by this equipment.

accessModeSufficientstring[]

Access mode combinations that allow understanding and using the equipment.

accessibilityControlstring[]

The accessibility controls that allow controlling this equipment.

accessibilityFeaturestring[]

Indicates the access mode combinations that allow understanding and using the equipment.

accessibilityHazardstring[]

Indicates the access mode combinations that allow understanding and using the equipment.

hasAudioDescriptionboolean

Is the media unit provided with audio description?

hasContrastingBackgroundboolean

If the media unit is printed or on a screen, does it have high contrast between background and foreground?

hasDedicatedScreenForSubtitlesboolean

Relevant for movies, screens and presentations: Is there a dedicated screen where subtitles can be read?

hasPlainLanguageOptionboolean

Is the media unit provided in a Plain Language option?

hasRealTimeCaptioningboolean

Does the media unit have real time captioning?

hasSubtitlesboolean

Is the media unit provided with subtitles?

interactions Object with one or more of these keys:

browse close discover feel interact listen open read recognize rent watch

Values must be of type InteractionMode.

An object that indicates how the object can be interacted with, or how you can engange in the main function of a place or thing.

The keys of this object are the interaction types, and the values are InteractionMode objects.

isAudioboolean

Is the media unit consumable as audio-only option?

isBrailleboolean

Is the media unit consumable or described for Braille readers?

isLargePrintboolean

If the media unit is printed, is the print large?

isTactileboolean

Is the media tactile?

languagesstring[]

Specifies which languages (including sign languages) in which the media unit is provided

nameLocalizedString

Name of the media unit (relevant if there are multiple units of the same kind)

sameAsstring[]

URLs that contain the media. Use this to link data, for example with RDF.

turningSpaceInFrontLength

If the media is consumed while the consumer is directly in front of it, this property specifies how much turning space there is in front of it.

typeOne of the following strings:

document exhibit form guide menu movie play presentation screen tour website

Type of the media unit

"},{"location":"describing-objects/0-model/#mirror","title":"Mirror","text":"

Describes a mirror.

heightFromGround and isAccessibleWhileSeated properties are required.

NameTypeheightFromGround*Length

How far is the mirror's bottom from the ground?

interactions Object with one or more of these keys:

adjust clean move turn use

Values must be of type InteractionMode.

An object that indicates how the object can be interacted with, or how you can engange in the main function of a place or thing.

The keys of this object are the interaction types, and the values are InteractionMode objects.

isAccessibleWhileSeated*boolean

true if the mirror is accessible while sitting in a wheelchair, false if not.

isLocatedInsideRestroomboolean

true if the mirror is located inside the restroom, false if not.

"},{"location":"describing-objects/0-model/#parking","title":"Parking","text":"

Mixin to link InteractionMode objects to your model.

NameTypecountnumberforWheelchairUsersundefined\u00a0|\u00a0WheelchairParkinginteractions Object with one or more of these keys:

arrive enterVehicle exitVehicle park

Values must be of type InteractionMode.

An object that indicates how the object can be interacted with, or how you can engange in the main function of a place or thing.

The keys of this object are the interaction types, and the values are InteractionMode objects.

"},{"location":"describing-objects/0-model/#pathways","title":"Pathways","text":"

Describes one or multiple pathways inside a place.

NameTypeisKerbstoneFreeboolean

true if the pathway is kerbstone-free, false if not.

surfaceSurfacewidthLength

Width constraints of all pathways inside a place relevant for consumers.

widthAtObstaclesLength

Width constraints of all pathways inside a place relevant for consumers.

"},{"location":"describing-objects/0-model/#payment","title":"Payment","text":"

The Payment interface describes the payment options at a location.

NameTypeacceptsBillsbooleanacceptsCoinsbooleanacceptsCreditCardsbooleanacceptsDebitCardsbooleanacceptsPaymentByMobilePhonebooleancustomPaymentMetaInfoLocalizedString[]hasPortablePaymentSystemboolean"},{"location":"describing-objects/0-model/#perceptionmode","title":"PerceptionMode","text":"

Describes necessary abilities and modes for interpreting information output, signals, or content.

NameTypeaccelerationAcceleration

Feedback force applied to the user.

activationSignalboolean

The output is an activation/engagement signal.

ambientNoiseLevelVolume

Ambient noise level in dB(A) relative to a reference pressure of 0.00002 Pa. Median over a 10-second period at least.

ambientTemperatureTemperature

The ambient temperature around the output.

animationOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The output is animated.

apiDocumentationUrlstring

The input API documentation URL.

attentionSpanTimeInterval

Attention time span needed to understand the output.

audibleClickOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The output has an acoustic click feedback.

audioDescriptionOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The output has audio description.

audioIsComprehensibleboolean

true if the system\u2019s audio quality is good enough for understanding speech, false if it is difficult.

backgroundColorsstring[]

Background output HTML colors (for example, the background behind a text or icon).

backgroundMusicOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

There is background music playing.

beepOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The output uses one or more beeps as signal.

bingOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The output uses one or more bing-like signals.

blackAndWhiteboolean

The output uses black and white colors.

brailleOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The ability to read braille is supported or needed.

breathingOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The light looks like it is breathing.

brightnessBrightness

The output's brightness.

buzzerOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The output is using a buzzer / paging device.

byodOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

true if you can or have to perceive the content with a device that you own.

cableOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

A cable is supported or needed.

chartOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The output uses one or more charts.

colorCodeboolean

The output uses a discrete color code.

colorGradientboolean

The output uses a color gradient.

contentWarningLocalizedString

Lists potential content warnings you have to expect here. User interfaces should not show the content warning directly, but should instead show a button to show the content warning.

dedicatedScreenForSubtitlesOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The output has a dedicated screen for subtitles.

descriptionLocalizedString

Describes the content/output/signal as human-readable text.

durationTimeInterval

Time interval in which the output is active.

educationLevelNumber

Education level needed to understand the output.

http://www.ibe.unesco.org/en/glossary-curriculum-terminology/l/levels-education

flashOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The output is a flashing light.

flashingHazardboolean

true if the output is a flashing hazard, false if there is explicitly no flashing hazard and someone / something ensures this. This can be relevant for people with epilepsy.

fontSizeLength

Font size used in the output.

forceForce

Feedback force applied to the user.

forceFeedbackOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The content/output/signal has active force feedback.

foregroundColorsstring[]

Foreground output HTML colors (for example, the text or icon color).

framerateHertz

The framerate of animations.

frequencyHertz

The frequency of the output, for tones or flashes.

fullBodyOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The content/output/signal affects your full body.

handwrittenOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The content is handwritten.

hapticOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The output is haptic.

hapticClickOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The output has a haptic click feedback.

headphoneOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

Headphones are supported or needed.

heatOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

Heat perception is supported or needed.

highContrastboolean

The output is displayed in high contrast.

instructionsUrlLocalizedString

URL describing how to make use of the content/output/signal.

isEasyToFindboolean

true if the input is easy to find.

isEasyToUnderstandboolean

true if the input is easy to understand, false if people might face difficulties trying to understand how the input works, or undefined if this is unknown or irrelevant.

languagesstring[]

Content languages supported.

ledOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The output is an LED.

lightOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The output is a light.

morseOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The output uses morse code.

musicOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The output uses music.

nameLocalizedString

Describes which output is meant. Helpful if there are multiple signals/outputs/content lements.

necessaryEyeHeightLength

How tall do you have to be to perceive the content/output/signal.

necessaryGripHeightLength

The height you need to grip to perceive the content/output/signal.

needsHighConcentrationOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The output needs high concentration to understand.

numbersOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The output uses one or more numbers.

optionalboolean

true if the perception is optional, false if it is required.

paperOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The output is displayed on a paper.

pictogramsOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The output uses one or more pictograms.

pitchedToneOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The output uses a pitched tone as signal.

plainLanguageOptionOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The output has a plain language option.

printerOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The output is from a printer.

provisionalHearingAidOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The perceiving person uses a provisional hearing aid, e.g. a stethoscope, a smartphone, or a headset with a microphone that amplifies the sound or speech.

qrCodeOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

A QR code is supported or needed.

radioOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

A radio connection is supported or needed (e.g. WiFi, Bluetooth, NFC, etc.)

readOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The ability to read is supported or needed.

realTimeCaptioningOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The output has realtime captioning.

requiredboolean

false if the perception is required to make use of the main function of the described object, true if it is required.

rhythmicOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The output is rhythmic.

screenOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The output is displayed on a screen.

signLanguageOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The ability to understand sign language is supported or needed.

smellOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The ability to smell is supported or needed.

soundOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The output is acoustic.

soundVolumeVolume

The content/output/signal has active vibration feedback.

speechOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The ability to understand speech is supported or needed.

staticboolean

true if the output is usually static and does not change over time, false if it is dynamic and changes over time.

stethoscopeOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The perceiving person uses a stethoscope.

This is method for patient communication that is used by doctors to speak to patients with hearing impairments:

British doctors recommend using the stethoscope as a hearing aid for patients in such situations (BMJ 2010; 341: c4672). If the patient has the buttons in his ear and the physician speaks softly and clearly into the diaphragm as into a microphone, then sufficient communication is often possible despite hearing problems. The intimacy of the conversation can be preserved by this simple means.

Sources:

subtitlesOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The output has subtitles.

tactileOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The output is tactile.

tactileGuidesOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The output has tactile guides, for example around buttons.

tasteOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

Tasting something is supported or needed.

techSufficientTechCombination[]

Technology combinations that are sufficient to make use of the content/output/signal.

techSupportedTechCombination[]

Technologies that are sufficient to make use of the content/output/signal.

temperatureTemperature

The temperature of the output.

urgencyOne of the following strings:

alarm alert announcement debug info warning

Urgency of the content when perceived.

urlLocalizedString

URL where you can see or make use of the content/output/signal, e.g. on your phone.

vibrationOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The content/output/signal has active vibration feedback.

visualOne of the following strings:

always discouraged forbidden impossible notApplicable notAvailable notNecessary optional possible recommended required sometimes unknown usually

The output is visual.

"},{"location":"describing-objects/0-model/#personalprofile","title":"PersonalProfile","text":"

Describes a person. This exists only to transform data from sources where no physical attributes of places have been captured as data directly. It's better to describe physical attributes of places and let people decide themselves which facilities they need or which place condition works for them.

NameTypeblindnessboolean

true for a person that is blind.

guideDogboolean

true for a person that has a guide dog.

hearingImpairmentboolean

true for a person that has a hearing impairment.

learningImpairmentboolean

true for a person that has a learning impairment.

mobilityImpairmentboolean

true for a person that has a mobility impairment.

mutenessboolean

true for a person that is inable to speak.

visualImpairmentboolean

true for a person that has a visual impairment.

wheelchairboolean

true for a person that uses a wheelchair.

"},{"location":"describing-objects/0-model/#placeinfo","title":"PlaceInfo","text":"

The PlaceInfo interface describes a physical location with added accessibility properties.

geometry and properties properties are required.

NameTypeformatVersionstring

The format version this place info document was created with (Uses the npm module version from package.json) Not used right now, but added for future compatibility.

geometry*PointGeometry

The physical location of the place in WGS84 coordinates. Currently only a GeoJSON PointGeometry is supported.

properties*PlaceProperties

Holds additional place properties such as name and category and accessibility information

"},{"location":"describing-objects/0-model/#placeproperties","title":"PlaceProperties","text":"

Properties of a place of interest.

The category property is required.

NameTypeaccessArray of one or more of these strings:

customers delivery designated disabled emergency employees no permissive permit private public residents yes

Defines who this restroom is for. See https://wiki.openstreetmap.org/wiki/Key:access for more information.

accessibilityundefined\u00a0|\u00a0Accessibility

The accessibility of this place. null indicates that this place has no data, undefined or missing property indicates unknown.

addressundefined\u00a0|\u00a0StructuredAddress

The address of this place. null indicates that this place has no address, undefined or missing property indicates unknown.

category*string

Category name of the place

descriptionLocalizedString

Text description containing helpful information for people with disabilities.

editPageUrlstring

URL of the original data source\u2019s website on a subpage that allows to edit the original data.

emailAddressstring

Email address of the place's operator where you can get accessibility relevant information.

ids Object with one or more of these keys:

string

Values must be of type string.

IDs in other data sources that are linked to this equipment, indexed by schema/context.

infoPageUrlstring

URL of the original data source\u2019s website describing this place.

nameLocalizedString

The official name of this place.

originalDataany

Original source data for this equipment (for easier debugging)

originalIdstring

ID of this place of interest in the original data source. To simplify communication with the data provider, it\u2019s a good idea to use the provider's internal ID here.

originalParentPlaceInfoIdstring

The parent's place ID in the original dataset from the data provider.

parentPlaceInfoIdstring

ID of the parent place that this place belongs to.

parentPlaceSourceIdstring

Source ID of the parent place that this place belongs to. This is usually the same ID as sourceId, but the parent place can be from another data provider.

phoneNumberstring

Phone number to call a representant of the place's operator.

placeWebsiteUrlstring

URL of the place\u2019s own website.

sameAsstring[]

URLs of this equipment in external data sources, for example in GTFS, IMDF or other sources.

sourceIdstring

ID of the data source that provided the place (accessibility.cloud ID)

sourceImportIdstring

ID of the import that created this place (accessibility.cloud ID)

tags Object with one or more of these keys:

string

Values must be of type string.

Tags that are not part of the schema, but are still useful for the data consumer.

"},{"location":"describing-objects/0-model/#pointgeometry","title":"PointGeometry","text":"

GeoJSON Point object.

coordinates and type properties are required.

NameTypecoordinates*tuple with 2 number elementstype*\"Point\""},{"location":"describing-objects/0-model/#quantity","title":"Quantity","text":"

Describes a quantity of a unit type.

NameTypeaccuracynumber

\u00b1 in given units, uniform error.

maxnumber

maximal value (inclusive)

minnumber

minimal value (inclusive)

operatorOne of the following strings:

!= < <= = == > >= ~ ~=

the operator, indicating the value is not an absolute value

precisionnumber

\u00b1 in given units, uniform error

rawValuestring

raw, imported value, eg. '90 .. 120cm' - only required when importing

unitstring

one of the length units in js-quantities

valuenumber

the value in the specified unit

"},{"location":"describing-objects/0-model/#queuesystem","title":"QueueSystem","text":"

Describes a system that encourages or forces people to queue up.

NameTypecanSkipQueueWithDisabilityboolean

true if you can skip the queue with a disability, false if not.

grabBarsGrabBars

Grab bars inside the queueing system, if applicable.

hasVisualAnnouncementsboolean

true if the queueing system announces the next person in line visually, false if not.

interactions Object with one or more of these keys:

arrive checkIn checkOut enqueue getOnesTurn getTicket leaveQueue skipQueue wait

Values must be of type InteractionMode.

An object that indicates how the object can be interacted with, or how you can engange in the main function of a place or thing.

The keys of this object are the interaction types, and the values are InteractionMode objects.

needsTicketsboolean

true if the queueing uses tickets (usually numbered), false if not.

numberOfQueueServerPointsnumber

Number of queue server points.

numberOfSeatsnumber

Number of seats that can be used by people while waiting in the queue.

usesCattleBarsboolean

true if the queueing uses rails / cattle bars, false if not.

"},{"location":"describing-objects/0-model/#restroom","title":"Restroom","text":"

Describes a Room that contains one or more Toilets or Showers.

NameTypeaccessArray of one or more of these strings:

customers delivery designated disabled emergency employees no permissive permit private public residents yes

Defines who this room is for. See https://wiki.openstreetmap.org/wiki/Key:access for more information.

addressStructuredAddressdescriptionLocalizedStringentranceEntranceProperties

Object describing the entrance to this room.

entrancesEntrance[]

Object describing the entrance to this room.

hasBathTubboolean

true if there is a bath tub in this room, false if not, undefined if condition is unknown.

hasCeilingHoistboolean

true if the restroom has a ceiling hoist, false if not.

hasChangingTableForAdultsboolean

true if the restroom has a changing table for adults, false if not.

hasChangingTableForBabiesboolean

true if the restroom has a changing table for babies, false if not.

hasEmergencyPullstringboolean

true if the restroom has an emergency pull string, false if not.

hasMirrorboolean

true if the restroom has a mirror, false if not.

hasShowerboolean

true if the restroom has a shower, false if not.

hasSupportRailsboolean

true if there support rails on the walls

heightOfDrierLength

At which height from the floor is the drier or towel?

heightOfSoapLength

At which height from the floor is the soap?

interactions Object with one or more of these keys:

callEmergency closeWindow enter exit lookAround openWindow play see sit sleep stand storeThings wait

Values must be of type InteractionMode.

An object that indicates how the object can be interacted with, or how you can engange in the main function of a place or thing.

The keys of this object are the interaction types, and the values are InteractionMode objects.

isAccessibleWithWheelchairboolean

true if the room's relevant facilities are completely accessible while using a wheelchair, false if not, undefined if the condition is unknown or difficult to assess.

mirrorMirror

Describes a mirror, if existing.

sameAsstring[]showerShower

Object describing a shower inside this restroom, if existing.

signIconsArray of one or more of these strings:

allGender baby changingTable family female male personInWheelchair toiletBowl urinal washBasin

Visible icons on the restroom\u2019s sign

toiletToilet

Object describing a toilet inside the restroom, if existing.

turningSpaceInsideLength

How wide is the space inside that you can use for turning?

usageFeeCurrencyValue[]

Defines how much you have to pay to use this restroom. There might be multiple fee amounts, e.g. for different access types or usage times.

washBasinWashBasin

Object describing a wash basin belonging to this restroom. It can be outside of the restroom.

"},{"location":"describing-objects/0-model/#room","title":"Room","text":"

Describes a room inside a structure.

NameTypeaccessArray of one or more of these strings:

customers delivery designated disabled emergency employees no permissive permit private public residents yes

Defines who this room is for. See https://wiki.openstreetmap.org/wiki/Key:access for more information.

addressStructuredAddressdescriptionLocalizedStringentranceEntranceProperties

Object describing the entrance to this room.

entrancesEntrance[]

Object describing the entrance to this room.

hasSupportRailsboolean

true if there support rails on the walls

interactions Object with one or more of these keys:

callEmergency closeWindow enter exit lookAround openWindow play see sit sleep stand storeThings wait

Values must be of type InteractionMode.

An object that indicates how the object can be interacted with, or how you can engange in the main function of a place or thing.

The keys of this object are the interaction types, and the values are InteractionMode objects.

isAccessibleWithWheelchairboolean

true if the room's relevant facilities are completely accessible while using a wheelchair, false if not, undefined if the condition is unknown or difficult to assess.

sameAsstring[]turningSpaceInsideLength

How wide is the space inside that you can use for turning?

"},{"location":"describing-objects/0-model/#seat","title":"Seat","text":"

Describes one or multiple seats / chairs / benches / stools / couches / sofas / armchairs / ...

NameTypeadjustmentAxesArray of one or more of these strings:

axial coronal sagittal

The seat can be adjusted in the following axes.

adjustmentDirectionsArray of one or more of these strings:

backward clockwise counterclockwise down forward left right up

The seat can be adjusted in the following directions.

columnsnumber[]

The seat column numbers. This is only for seats in a fixed seating arrangement.

descriptionLocalizedString

Name of the entrance (helpful if there are multiple entrances).

fixedHeightLength

How high is the desk? For variable-height desks, use minimalHeight and maximalHeight instead.

This can be used to determine if a wheelchair user can sit at the desk.

hasAdjustableHeightboolean

The seat has an adjustable seating surface.

hasHeadRestboolean

The seat has a headrest.

hasRemovableArmRestsboolean

The seat has removable armrests.

hasSeatbeltboolean

The seat has a seatbelt.

interactions Object with one or more of these keys:

adjust adjustArmRests adjustBackRest adjustFootRest adjustHeadRest adjustHeight adjustLegRest adjustSeatBelt adjustSeatBeltAngle adjustSeatBeltHeight adjustSeatBeltLength adjustSeatBeltLock adjustSeatBeltPosition adjustSeatBeltTension adjustSeatingAngle adjustSeatingSurface connectSeatbelt fold move removeArmrests sit unfold

Values must be of type InteractionMode.

An object that indicates how the object can be interacted with, or how you can engange in the main function of a place or thing.

The keys of this object are the interaction types, and the values are InteractionMode objects.

intercomundefined\u00a0|\u00a0Intercom

Information about an intercom at this seat, if applicable.

null indicates there is no intercom.

isCenterColumnboolean

The seat is located at the center of the seating arrangement, laterally.

isFixedboolean

The seat is fixed.

isFoldableboolean

The seat can be folded.

isFrontRowboolean

The seat is located at the front row of the seating arrangement.

isLastRowboolean

The seat is located at the last row of the seating arrangement.

isMobileboolean

The seat is mobile.

isWheelchairAccessibleboolean

The seat is wheelchair accessible.

maximalHeightLength

How high is the desk maximally? This is only for variable-height desks. Use fixedHeight for fixed-height desks. This can be used to determine if a wheelchair user can sit at the desk.

minimalHeightLength

How high is the desk minimally? This is only for variable-height desks. Use fixedHeight for fixed-height desks. This can be used to determine if a wheelchair user can sit at the desk.

nameLocalizedString

Name of the entrance (helpful if there are multiple entrances).

paymentundefined\u00a0|\u00a0Payment

Information about payment at this seat or the cost of using this seat.

null indicates there is no payment possible/required.

reservedForPersonsWithPersonalProfile

The seat is reserved for persons with the given profile.

rowsnumber[]

The seat row numbers. This is only for seats in a fixed seating arrangement.

seatbeltPointsnumber

The number of seatbelt points.

turningSpaceInFrontLength

How much space is there in front of the desk? This can be used to determine if a wheelchair user can sit at the desk.

"},{"location":"describing-objects/0-model/#shower","title":"Shower","text":"

Describes a shower.

NameTypedoorDoorgrabBarsGrabBars

Ergonomic handles inside the shower.

hasShowerSeatboolean

true if the shower has a seat, false if not..

hasSupportRailsboolean

true if the shower has support rails, false if not.

interactions Object with one or more of these keys:

transfer useConditioner useShampoo useShowerCurtain useShowerGel useShowerHead useSoap useSupport wash

Values must be of type InteractionMode.

An object that indicates how the object can be interacted with, or how you can engange in the main function of a place or thing.

The keys of this object are the interaction types, and the values are InteractionMode objects.

seatSeat

Describes the shower seat, if existing.

stairsStairs"},{"location":"describing-objects/0-model/#signage","title":"Signage","text":"

Describes a signage / physical navigation system belonging to a location.

NameTypedescriptionLocalizedString

A description of the signage.

fontHeightLength

The height of the font used on the signage. Most likely in millimeters, using a range.

hasAudioboolean

true if the signage has audio, false if not.

hasBrailleboolean

true if the signage has braille, false if not.

hasNumbersboolean

true if the signage uses a numbering scheme, false if not, undefined if condition is unknown.

hasPictogramsboolean

true if the signage has pictograms, false if not.

hasRaisedLettersboolean

true if the signage has raised letters, false if not.

hasSearchboolean

true if the signage has a search function, false if not, undefined if condition is unknown.

hasTactileGuideStripsboolean

true if the signage has tactile guide strips, false if not, undefined if condition is nknown.

hasTactileHandRailsboolean

true if the signage has tactile hand rails, false if not, undefined if condition is unknown.

hasTactileMapboolean

true if the signage has a tactile map, false if not.

hasTactileNorthMarkersboolean

true if the signage has tactile north markers, false if not, undefined if condition is unknown.

https://twitter.com/saizai/status/1210352258950598656

hasTactilePavingboolean

true if the signage has tactile paving, false if not.

hasTactileRoomNamesboolean

true if the signage has tactile room names, false if not, undefined if condition is unknown.

hasTextboolean

true if the signage has text features, false if not.

hasVideoboolean

true if the signage has video, false if not.

hasVirtualMapboolean

true if the signage has a virtual map, false if not.

highLegibilityboolean

true if the signage has high legibility, false if not.

interactions Object with one or more of these keys:

findYourDestination locateYourself useSitemap

Values must be of type InteractionMode.

An object that indicates how the object can be interacted with, or how you can engange in the main function of a place or thing.

The keys of this object are the interaction types, and the values are InteractionMode objects.

isHighContrastboolean

true if the signage has high contrast, false if not.

"},{"location":"describing-objects/0-model/#staff","title":"Staff","text":"

Describes the presence of staff and their qualifications and/or provided services.

NameTypecanSeeVisitorsFromInsideboolean

true if the staff has means to see visitors from the inside at all times when the place is open (for example a window or CCTV system), false if not.

hasFreeAssistantForVisitorsboolean

true if there is an assistant for the duration of the visit that is free of charge, false if not.

languagesstring[]

Languages that the staff speaks, including sign language variants.

Uses IETF language codes.

spokenLanguagesstring[]"},{"location":"describing-objects/0-model/#stairs","title":"Stairs","text":"

The Stairs interface describes one or more walkable stairs.

NameTypealternativeMobileEquipmentIdsstring[]

You SHOULD reference alternative equipment IDs with this field, for example elevators, escalators, or hoists.

countnumber

Number of steps.

floorsstring[]

Floor numbers that are accessible via these stairs.

grabBarsGrabBars

Grab bars belonging to the stairs.

hasAntiSlipNosingboolean

true if all relevant steps are made with anti-slip material.

hasBrailleSignageboolean

true if there is braille navigation in this staircase, false if not.

hasHandRailboolean

true if there is a handrail covering all relevant steps, false if not.

hasHighContrastNosingboolean

true if all relevant steps have a high contrast nosing.

hasMetalGratingboolean

Do the stairs have metal grating? This is difficult to navigate for people with assistance dogs.

hasTactileSafetyStripsboolean

true if all relevant steps have tactile safety surfaces, used as warnings, implying textures detectable with the touch of a foot or sweep of a cane.

hasTactileSignageboolean

true if there is tactile navigation in this staircase, false if not.

isSpiralboolean

true if the stairs are spiral, false if not.

isWellLitboolean

Are the stairs and podests well lit?

nameLocalizedString

If there are multiple staircase, you SHOULD indicate a name for this staircase here.

stepHeightLength

Indicates how high the steps if these stairs are (can be a range).

"},{"location":"describing-objects/0-model/#structuredaddress","title":"StructuredAddress","text":"

The address of a places as Address as a series of structured attributes.

NameTypeareasLocalizedString[]

An array of named areas below the district and above street. In some regions such areas might also contain street names, when individual street segments have names separate from the name of the whole road.

buildingLocalizedString

Building name

cityLocalizedString

The name of the primary locality of the place.

countryCodestring

A three-letter country code in ISO 3166-1 alpha-3, see https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3

countyLocalizedString

A division of a state; typically a secondary-level administrative division of a country or equivalent.

districtLocalizedString

A division of city; typically an administrative unit within a larger city or a customary name of a city's neighborhood.

houseLocalizedString

House or street number.

levelIndexnumber

Relative in relation to other levels. 0 for ground level must have index 0, 1 for first level, etc. You can use half numbers for levels like 1.5.

levelNameLocalizedString

Name of the level. Example: { en: \"Floor 1\" }, { en: \"Ground level\" }.

postalCodeLocalizedString

An alphanumeric string included in a postal address to facilitate mail sorting (a.k.a. post code, postcode, or ZIP code).

regionsLocalizedString[]

For address conventions where more than to levels of named areas above the city level are in use, the regions attribute provides an array with all additional area names, ordered by decreasing size (starting with the highest subdivision below state)

roomLocalizedString

Room name. Example: { en: \"Meeting room \u2018Rome\u2019\" }.

roomNumberLocalizedString

Room number. Example: { en: \"B-101\" }.

stateLocalizedString

A division of a country; typically a first-level administrative division of a country and/or a geographical region.

stateCodestring

A code/abbreviation for the state division of a country.

streetLocalizedString

Street name (in practice may also contain street number).

textLocalizedString

A displayable, formatted address as rich text.

"},{"location":"describing-objects/0-model/#surface","title":"Surface","text":"

Describes the surface of a ground or path.

NameTypelateralSlopeSlopelongitudinalSlopeSlopesmoothnessOne of the following strings:

bad excellent good horrible impassable intermediate very_bad very_good very_horrible

According to https://wiki.openstreetmap.org/wiki/Key:smoothness

turningSpaceLength

Turning space that this ground provides to people.

typesArray of one or more of these strings:

acrylic aluminium anti-slip artificial artificial_grass artificial_turf asfalto ash asphalt astroturf bamboo bare_rock bark barkchips bedrock bitumen bituminous block boardwalk boulders brick brick_weave bricks bushes carpet cement chalk chipseal cinder clay cobblestone compacted compacted_gravel composite con concrete concrete_slab concrete_slabs construction coral coral_sand crushed_limestone crushed_shells debris decoturf dirt earth enrob\u00e9 fine_gravel fine_sand flagstone footway glass goudron granite grass grass_paver grass_scrub grassland grating gravel green grit ground hardcore ice ice_road interlock iron laterite lawn leaves limerock limestone linoleum loose_gravel marble marble_plate meadow metal metal_grid mixed moss mud mulch native natural none oil overgrown path paved pavement paving paving_stone paving_stones peat pebbles pebblestone plank plastic plates rasin residential rock rocks rocky roman_paving rubber rubbercrumb rubble salt sand sandstone sawdust scree scrub sealed sett shell shells shingle slabs snow soil spur steel stepping_stones stone stones synthetic tactile_paving tar tared tarmac tartan terra terre tile tiles timber track trail trees tuff turf undefined unhewn_cobblestone unpaved unpaved2 unpaved33 unpaved_minor unsealed water wood wood_chips woodchips zebra

According to https://wiki.openstreetmap.org/wiki/Key:surface

"},{"location":"describing-objects/0-model/#techcombination","title":"TechCombination","text":"

Describes a combination of technologies that are used together to achieve a specific goal.

The uris property is required.

NameTypedescriptionLocalizedString

Localizable description of the combination. Can describe in which mode or for what goal the tech is used.

nameLocalizedString

Localizable name/title of the combination. Can describe in which mode or for what goal the tech is used.

uris*string[]

URIs of technologies that are combined together to form this tech combination. Use RDF if possible.

Supported prefix examples:

"},{"location":"describing-objects/0-model/#toilet","title":"Toilet","text":"

Describes a single toilet that can be inside a restroom or cabin.

NameTypeflushMechanismDistanceFromToiletLength

Indicates how far the flush mechanism(s) from the toilet, from the perspective of a the floor plan. If the flush mechanism is right behind the toilet, this is a 0 length.

grabBarsGrabBars

Object describing the grab bars.

hasAutomaticFlushboolean

true if the toilet is automatically flushing after use.

heightOfBaseLength

Indicates the height of the toilet\u2019s base.

interactions Object with one or more of these keys:

flush secondaryFlush spray use

Values must be of type InteractionMode.

An object that indicates how the object can be interacted with, or how you can engange in the main function of a place or thing.

The keys of this object are the interaction types, and the values are InteractionMode objects.

isLatrineboolean

Indicates whether the toilet is a latrine.

isSquatToiletboolean

Indicates whether the toilet is a squat toilet.

isUrinalboolean

Indicates whether the toilet is a urinal.

spaceInFrontLength

How much space is in front of the toilet?

spaceOnUsersLeftSideLength

How much space is on the left side of the toilet? (from the perspective of somebody using the toilet)

spaceOnUsersRightSideLength

How much space is on the right side of the toilet? (from the perspective of somebody using the toilet)

"},{"location":"describing-objects/0-model/#washbasin","title":"WashBasin","text":"

Describes a wash basin.

NameTypeaccessibleWithWheelchairboolean

true if the wash basin is accessible with wheelchairs, false if not.

heightLength

Defines at which height is the wash basin's top

interactions Object with one or more of these keys:

changeTemperature changeWaterPressure getCarbonizedWater getColdWater getHotWater getPaperTowel getTowel sanitizeHands useAirDryer useSoap useWater useWaterJet useWaterSpray

Values must be of type InteractionMode.

An object that indicates how the object can be interacted with, or how you can engange in the main function of a place or thing.

The keys of this object are the interaction types, and the values are InteractionMode objects.

isLocatedInsideRestroomboolean

true if the restroom's wash basin is inside the cabin, false if not.

spaceBelowDepthLength

How deep is the space below the wash basin?

spaceBelowHeightLength

How high is the space below the wash basin?

"},{"location":"describing-objects/0-model/#wheelchairparking","title":"WheelchairParking","text":"

Describes one or more wheelchair parking lots.

NameTypecountnumber

Defines many wheelchair accessible parking lots are provided

distanceToEntranceLength

How far away is the parking from the main entrance? If there is a separate wheelchair entrance, the distance to this entrance MUST be used.

hasDedicatedSignageboolean

true if there is dedicated signage at all relevant turning points from the street to the parking, false if not, undefined if this is unknown.

interactions Object with one or more of these keys:

arrive enterVehicle exitVehicle park

Values must be of type InteractionMode.

An object that indicates how the object can be interacted with, or how you can engange in the main function of a place or thing.

The keys of this object are the interaction types, and the values are InteractionMode objects.

isLocatedInsideboolean

true if the parking is inside a building or under a roof, false if not, undefined if unknown.

lengthLength

Length constraint of the parking lots.

locationLocalizedString

Describes where the parking is located.

maxVehicleHeightLength

Maximal allowed vehicle height for users of this parking.

neededParkingPermitsLocalizedString[]

List of permit names that allow using this parking.

widthLength

Width constraint of the parking lots.

"},{"location":"describing-objects/0-model/#wheelchairplaces","title":"WheelchairPlaces","text":"

The WheelchairPlaces interface describes the presence of reserved spots for wheelchairs.

The count property is required.

NameTypecount*number

The number of designated places for wheelchairs, for example, in a cinema or theater.

hasSpaceForAssistantboolean

Is there additional space for an assistant?

wheelchairUserCapacitynumber

The number of people using a wheelchair that can be accomodated at the same time. Use this when there is no designated space for wheelchair users, but the number is known.

"},{"location":"describing-objects/0-model/#wifiaccessibility","title":"WifiAccessibility","text":"

Describes the presence of staff and their qualifications and/or provided services.

NameTypeaccessArray of one or more of these strings:

customers delivery designated disabled emergency employees no permissive permit private public residents yes

Describes who can access the wifi.

descriptionWhereToGetLoginDataLocalizedString

Describes where you get the login data / guest pass.

hasCaptivePortalboolean

true if the wifi has a captive portal website.

hasFixedPasswordboolean

true if the wifi has a fixed password. Knowing this password must be enough to enter and use the wifi.

isCaptivePortalAccessibleboolean

true if the wifi captive portal is accessible (WAI/ARIA).

isOpenToEveryoneboolean

true if the wifi is open to everyone, false if it is explicitly not.

isOpenToStaffboolean

true if the wifi is open to explicit place staff, false if explicitly not.

isOpenToVisitorsboolean

true if the wifi is open to explicit place visitors, false if explicitly not.

needsGuestPassboolean

true if you need a personalized guest pass / code / password to use the wifi, false if not.

passwordstring

A string with the Wifi password. Only use this attribute if security allows to publish this info online publicly.

ssidstring

A string with the Wifi name (SSID). Only use this attribute if security allows to publish this info online publicly.

usageFeeCurrencyValue[]

Describes if you need to pay a usage fee to use the wifi, or if no fee is needed.

"},{"location":"describing-objects/0-quantities/","title":"Quantities","text":"

Accessibility survey data often contains unclear or aggregated definitions of quantities.

A11yJSON represents quantities either as string or as Quantity object with separate properties for value and unit. Both of the following definitions are valid and have the same meaning:

{\n\"door\": {\n\"width\": \"90 cm\",\n}\n}\n
{\n\"door\": {\n\"width\": {\n\"value\": 90,\n\"unit\": \"cm\"\n}\n}\n}\n

When you supply a string, any value + unit string that js-quantities supports as input is valid. Imperial or metric units, both works.

As the data representation is SI-unit based, you can use the resulting data with any system that supports SI units:

Besides value and unit, you can save the original data value as string representation as rawValue to debug conversion errors. When saving quantities, you have to specify them including their unit. You can provide measures as fixed quantities, but also with constraints and variance (uwing the accuracy field). This helps

"},{"location":"describing-objects/constants/","title":"Constants","text":"

Besides interfaces and bare types, A11yJSON defines the following constants.

Some lack proper formatting in the documentation. Fixes in tools/generate-overview.ts are welcome!

"},{"location":"describing-objects/constants/#accelerationschema","title":"AccelerationSchema","text":"

SimpleSchema from the @sozialhelden/simpl-schema NPM package.

"},{"location":"describing-objects/constants/#accelerationschemadefinition","title":"AccelerationSchemaDefinition","text":"

Validates a acceleration quantity object and will only accept acceleration units, eg. meter/second^2, miles/hour^2. Useful to describe the acceleration of a vehicle, or the acceleration that a person is subjected to.

SchemaDefinition from the @sozialhelden/simpl-schema NPM package.

"},{"location":"describing-objects/constants/#accesstypes","title":"AccessTypes","text":"

Read-only tuple with 15 strings:

"},{"location":"describing-objects/constants/#basequantityschema","title":"BaseQuantitySchema","text":"

SimpleSchema from the @sozialhelden/simpl-schema NPM package.

"},{"location":"describing-objects/constants/#brightnessschema","title":"BrightnessSchema","text":"

SimpleSchema from the @sozialhelden/simpl-schema NPM package.

"},{"location":"describing-objects/constants/#brightnessschemadefinition","title":"BrightnessSchemaDefinition","text":"

Validates a brightness descriptor and will only accept brightness units, eg. nits or lumens.

SchemaDefinition from the @sozialhelden/simpl-schema NPM package.

"},{"location":"describing-objects/constants/#deskinteractions","title":"DeskInteractions","text":"

Read-only tuple with 20 strings:

"},{"location":"describing-objects/constants/#deskinteractionsset","title":"DeskInteractionsSet","text":"

Set<One of the following strings:

changeHeight checkIn checkOut close enqueue getFood getReturn getShoppingBag handover handoverLuggage lock open openAndClose pay ringBell savePreset scan selfCheckout unlock unlockAndLock

>

"},{"location":"describing-objects/constants/#directionaxes","title":"DirectionAxes","text":"

Describes a physical direction axis relative to a person\u2019s body.

Read-only tuple with 3 strings:

"},{"location":"describing-objects/constants/#directions","title":"Directions","text":"

Describes physical directions, from the perspective of a person facing forward.

Read-only tuple with 8 strings:

"},{"location":"describing-objects/constants/#doorinteractions","title":"DoorInteractions","text":"

Read-only tuple with 7 strings:

"},{"location":"describing-objects/constants/#doorinteractionsset","title":"DoorInteractionsSet","text":"

Set<One of the following strings:

close lock open openAndClose ringDoorbell unlock unlockAndLock

>

"},{"location":"describing-objects/constants/#equipmentinteractions","title":"EquipmentInteractions","text":"

Read-only tuple with 21 strings:

"},{"location":"describing-objects/constants/#equipmentinteractionsset","title":"EquipmentInteractionsSet","text":"

Set<One of the following strings:

arriveAtFloor buy call callEmergency disable enable engage findYourDestination flush getTreatment handover locateYourself ride scan selectFloor sell sleep toggle travel understand use

>

"},{"location":"describing-objects/constants/#equipmenttypes","title":"EquipmentTypes","text":"

Read-only tuple with 23 strings:

"},{"location":"describing-objects/constants/#forceschema","title":"ForceSchema","text":"

SimpleSchema from the @sozialhelden/simpl-schema NPM package.

"},{"location":"describing-objects/constants/#forceschemadefinition","title":"ForceSchemaDefinition","text":"

Validates a force quantity object and will only accept force units, eg. newton, or kilogram*meter/second^2.

SchemaDefinition from the @sozialhelden/simpl-schema NPM package.

"},{"location":"describing-objects/constants/#genericinteractions","title":"GenericInteractions","text":"

Read-only tuple with 32 strings:

"},{"location":"describing-objects/constants/#genericinteractionsset","title":"GenericInteractionsSet","text":"

Set<One of the following strings:

arrive book buy change checkIn checkOut eat explore getDrinks getFood getService getTreatment listen main order orderAnnouncement pay pickUpOrder play read rent roam see sell use useLockers useService visit watch watchMovies watchPlays workHere

>

"},{"location":"describing-objects/constants/#grabbarsinteractions","title":"GrabBarsInteractions","text":"

Read-only tuple with 5 strings:

"},{"location":"describing-objects/constants/#grabbarsinteractionsset","title":"GrabBarsInteractionsSet","text":"

Set<One of the following strings:

adjust findYourDestination foldDown foldUp localizeYourself

>

"},{"location":"describing-objects/constants/#hertzschema","title":"HertzSchema","text":"

SimpleSchema from the @sozialhelden/simpl-schema NPM package.

"},{"location":"describing-objects/constants/#hertzschemadefinition","title":"HertzSchemaDefinition","text":"

Validates a frequency quantity object and will only accept frequency units, eg. hertz.

SchemaDefinition from the @sozialhelden/simpl-schema NPM package.

"},{"location":"describing-objects/constants/#intercominteractions","title":"IntercomInteractions","text":"

Read-only tuple with 6 strings:

"},{"location":"describing-objects/constants/#intercominteractionsset","title":"IntercomInteractionsSet","text":"

Set<One of the following strings:

call close hangUp identify open ring

>

"},{"location":"describing-objects/constants/#lengthschema","title":"LengthSchema","text":"

SimpleSchema from the @sozialhelden/simpl-schema NPM package.

"},{"location":"describing-objects/constants/#lengthschemadefinition","title":"LengthSchemaDefinition","text":"

Validates a length quantity object and will only accept length units, eg. meter, centimeter or inch.

SchemaDefinition from the @sozialhelden/simpl-schema NPM package.

"},{"location":"describing-objects/constants/#massschema","title":"MassSchema","text":"

SimpleSchema from the @sozialhelden/simpl-schema NPM package.

"},{"location":"describing-objects/constants/#massschemadefinition","title":"MassSchemaDefinition","text":"

Validates a mass quantity object and will only accept mass/weight units, eg. kilogram, gram or pound.

SchemaDefinition from the @sozialhelden/simpl-schema NPM package.

"},{"location":"describing-objects/constants/#mediainteractions","title":"MediaInteractions","text":"

Read-only tuple with 11 strings:

"},{"location":"describing-objects/constants/#mediainteractionsset","title":"MediaInteractionsSet","text":"

Set<One of the following strings:

browse close discover feel interact listen open read recognize rent watch

>

"},{"location":"describing-objects/constants/#mediatypeset","title":"MediaTypeSet","text":"

Set<One of the following strings:

document exhibit form guide menu movie play presentation screen tour website

>

"},{"location":"describing-objects/constants/#mediatypes","title":"MediaTypes","text":"

Read-only tuple with 11 strings:

"},{"location":"describing-objects/constants/#mirrorinteractions","title":"MirrorInteractions","text":"

Read-only tuple with 5 strings:

"},{"location":"describing-objects/constants/#mirrorinteractionsset","title":"MirrorInteractionsSet","text":"

Set<One of the following strings:

adjust clean move turn use

>

"},{"location":"describing-objects/constants/#necessities","title":"Necessities","text":"

Read-only tuple with 14 strings:

"},{"location":"describing-objects/constants/#necessityfield","title":"NecessityField","text":"

SchemaKeyDefinition from the @sozialhelden/simpl-schema NPM package.

"},{"location":"describing-objects/constants/#operators","title":"Operators","text":"

The allowed operators for comparison quantities

Read-only tuple with 9 strings:

"},{"location":"describing-objects/constants/#parkinginteractions","title":"ParkingInteractions","text":"

Read-only tuple with 4 strings:

"},{"location":"describing-objects/constants/#parkinginteractionsset","title":"ParkingInteractionsSet","text":"

Set<One of the following strings:

arrive enterVehicle exitVehicle park

>

"},{"location":"describing-objects/constants/#paymentinteractions","title":"PaymentInteractions","text":"

Read-only tuple with 5 strings:

"},{"location":"describing-objects/constants/#queuesysteminteractions","title":"QueueSystemInteractions","text":"

Read-only tuple with 9 strings:

"},{"location":"describing-objects/constants/#queuesysteminteractionsset","title":"QueueSystemInteractionsSet","text":"

Set<One of the following strings:

arrive checkIn checkOut enqueue getOnesTurn getTicket leaveQueue skipQueue wait

>

"},{"location":"describing-objects/constants/#restroomsignicons","title":"RestroomSignIcons","text":"

Read-only tuple with 10 strings:

"},{"location":"describing-objects/constants/#roominteractions","title":"RoomInteractions","text":"

Read-only tuple with 13 strings:

"},{"location":"describing-objects/constants/#roominteractionsset","title":"RoomInteractionsSet","text":"

Set<One of the following strings:

callEmergency closeWindow enter exit lookAround openWindow play see sit sleep stand storeThings wait

>

"},{"location":"describing-objects/constants/#seatinteractions","title":"SeatInteractions","text":"

Read-only tuple with 22 strings:

"},{"location":"describing-objects/constants/#seatinteractionsset","title":"SeatInteractionsSet","text":"

Set<One of the following strings:

adjust adjustArmRests adjustBackRest adjustFootRest adjustHeadRest adjustHeight adjustLegRest adjustSeatBelt adjustSeatBeltAngle adjustSeatBeltHeight adjustSeatBeltLength adjustSeatBeltLock adjustSeatBeltPosition adjustSeatBeltTension adjustSeatingAngle adjustSeatingSurface connectSeatbelt fold move removeArmrests sit unfold

>

"},{"location":"describing-objects/constants/#showerinteractions","title":"ShowerInteractions","text":"

Read-only tuple with 9 strings:

"},{"location":"describing-objects/constants/#showerinteractionsset","title":"ShowerInteractionsSet","text":"

Set<One of the following strings:

transfer useConditioner useShampoo useShowerCurtain useShowerGel useShowerHead useSoap useSupport wash

>

"},{"location":"describing-objects/constants/#signageinteractions","title":"SignageInteractions","text":"

Read-only tuple with 3 strings:

"},{"location":"describing-objects/constants/#signageinteractionsset","title":"SignageInteractionsSet","text":"

Set<One of the following strings:

findYourDestination locateYourself useSitemap

>

"},{"location":"describing-objects/constants/#slopeschema","title":"SlopeSchema","text":"

SimpleSchema from the @sozialhelden/simpl-schema NPM package.

"},{"location":"describing-objects/constants/#slopeschemadefinition","title":"SlopeSchemaDefinition","text":"

Validates a slope quantity object and will only accept units to descrie a slope, eg. degrees.

SchemaDefinition from the @sozialhelden/simpl-schema NPM package.

"},{"location":"describing-objects/constants/#smoothnesstypevalues","title":"SmoothnessTypeValues","text":"

Read-only tuple with 9 strings:

"},{"location":"describing-objects/constants/#speedschema","title":"SpeedSchema","text":"

SimpleSchema from the @sozialhelden/simpl-schema NPM package.

"},{"location":"describing-objects/constants/#speedschemadefinition","title":"SpeedSchemaDefinition","text":"

Validates a speed quantity object and will only accept speed units, eg. meter/second, miles/hour or similar.

SchemaDefinition from the @sozialhelden/simpl-schema NPM package.

"},{"location":"describing-objects/constants/#surfacetypevalues","title":"SurfaceTypeValues","text":"

Read-only tuple with 158 strings:

"},{"location":"describing-objects/constants/#temperatureschema","title":"TemperatureSchema","text":"

SimpleSchema from the @sozialhelden/simpl-schema NPM package.

"},{"location":"describing-objects/constants/#temperatureschemadefinition","title":"TemperatureSchemaDefinition","text":"

Validates a temperature quantity object and will only accept temperature units, eg. degrees celsius (degC), degrees Fahrenheit (degF) or kelvin (K).

SchemaDefinition from the @sozialhelden/simpl-schema NPM package.

"},{"location":"describing-objects/constants/#timeintervalschema","title":"TimeIntervalSchema","text":"

SimpleSchema from the @sozialhelden/simpl-schema NPM package.

"},{"location":"describing-objects/constants/#timeintervalschemadefinition","title":"TimeIntervalSchemaDefinition","text":"

Validates a timer interval object and will only accept time units, eg. seconds, minutes or hours.

SchemaDefinition from the @sozialhelden/simpl-schema NPM package.

"},{"location":"describing-objects/constants/#toiletinteractions","title":"ToiletInteractions","text":"

Read-only tuple with 4 strings:

"},{"location":"describing-objects/constants/#toiletinteractionsset","title":"ToiletInteractionsSet","text":"

Set<One of the following strings:

flush secondaryFlush spray use

>

"},{"location":"describing-objects/constants/#unitlessschema","title":"UnitlessSchema","text":"

SimpleSchema from the @sozialhelden/simpl-schema NPM package.

"},{"location":"describing-objects/constants/#unitlessschemadefinition","title":"UnitlessSchemaDefinition","text":"

SchemaDefinition from the @sozialhelden/simpl-schema NPM package.

"},{"location":"describing-objects/constants/#volumeschema","title":"VolumeSchema","text":"

SimpleSchema from the @sozialhelden/simpl-schema NPM package.

"},{"location":"describing-objects/constants/#volumeschemadefinition","title":"VolumeSchemaDefinition","text":"

Validates a sound volume quantity object and will only accept sound volume units, eg. decibel.

SchemaDefinition from the @sozialhelden/simpl-schema NPM package.

"},{"location":"describing-objects/constants/#washbashininteractions","title":"WashBashinInteractions","text":"

Read-only tuple with 13 strings:

"},{"location":"describing-objects/constants/#washbasininteractionsset","title":"WashBasinInteractionsSet","text":"

Set<One of the following strings:

changeTemperature changeWaterPressure getCarbonizedWater getColdWater getHotWater getPaperTowel getTowel sanitizeHands useAirDryer useSoap useWater useWaterJet useWaterSpray

>

"},{"location":"describing-objects/constants/#wheelchairaccessibilitygrades","title":"WheelchairAccessibilityGrades","text":"

Describes the general wheelchair accessibility of the place. This is a human-rated value. It SHOULD conform to the traffic light system found in OpenStreetMap and Wheelmap.org.

Read-only tuple with 3 strings:

"},{"location":"describing-objects/constants/#wifiinteractions","title":"WifiInteractions","text":"

Read-only tuple with 6 strings:

"},{"location":"describing-objects/constants/#wifiinteractionsset","title":"WifiInteractionsSet","text":"

Set<One of the following strings:

acceptTerms getGuestPass getPassword getTerms login register

>

"},{"location":"describing-objects/constants/#smokingpolicies","title":"smokingPolicies","text":"

Describes smoking policies for visitors of a place.

Read-only tuple with 6 strings:

"},{"location":"describing-objects/type-aliases/","title":"Type Aliases","text":"

Besides interfaces and constants, A11yJSON defines the following bare types.

Some lack proper formatting in the documentation. Fixes in tools/generate-overview.ts are welcome!

"},{"location":"describing-objects/type-aliases/#acceleration","title":"Acceleration","text":"

Definition: Quantity\u00a0|\u00a0string

"},{"location":"describing-objects/type-aliases/#accesstype","title":"AccessType","text":"

Definition: one of the following strings:

"},{"location":"describing-objects/type-aliases/#brightness","title":"Brightness","text":"

Definition: Quantity\u00a0|\u00a0string

"},{"location":"describing-objects/type-aliases/#deskinteraction","title":"DeskInteraction","text":"

Definition: one of the following strings:

"},{"location":"describing-objects/type-aliases/#direction","title":"Direction","text":"

Describes a physical direction, from the perspective of a person facing forward.

Definition: one of the following strings:

"},{"location":"describing-objects/type-aliases/#directionaxis","title":"DirectionAxis","text":"

Describes a physical direction axis relative to a person\u2019s body.

Definition: one of the following strings:

"},{"location":"describing-objects/type-aliases/#doorinteraction","title":"DoorInteraction","text":"

Definition: one of the following strings:

"},{"location":"describing-objects/type-aliases/#equipmentinteraction","title":"EquipmentInteraction","text":"

Definition: one of the following strings:

"},{"location":"describing-objects/type-aliases/#equipmenttype","title":"EquipmentType","text":"

Definition: one of the following strings:

"},{"location":"describing-objects/type-aliases/#force","title":"Force","text":"

Definition: Quantity\u00a0|\u00a0string

"},{"location":"describing-objects/type-aliases/#genericinteraction","title":"GenericInteraction","text":"

Definition: one of the following strings:

"},{"location":"describing-objects/type-aliases/#grabbarsinteraction","title":"GrabBarsInteraction","text":"

Definition: one of the following strings:

"},{"location":"describing-objects/type-aliases/#hertz","title":"Hertz","text":"

Definition: Quantity\u00a0|\u00a0string

"},{"location":"describing-objects/type-aliases/#ietflanguagetag","title":"IETFLanguageTag","text":"

Defines a spoken or written language in IETF language tag format.

Definition: string

"},{"location":"describing-objects/type-aliases/#intercominteraction","title":"IntercomInteraction","text":"

Definition: one of the following strings:

"},{"location":"describing-objects/type-aliases/#length","title":"Length","text":"

Definition: Quantity\u00a0|\u00a0string

"},{"location":"describing-objects/type-aliases/#localizedstring","title":"LocalizedString","text":"

Definition: Object with one or more of these keys:

string

Values must be of type string.

"},{"location":"describing-objects/type-aliases/#mass","title":"Mass","text":"

Definition: Quantity\u00a0|\u00a0string

"},{"location":"describing-objects/type-aliases/#mediainteraction","title":"MediaInteraction","text":"

Definition: one of the following strings:

"},{"location":"describing-objects/type-aliases/#mediatype","title":"MediaType","text":"

Definition: one of the following strings:

"},{"location":"describing-objects/type-aliases/#mirrorinteraction","title":"MirrorInteraction","text":"

Definition: one of the following strings:

"},{"location":"describing-objects/type-aliases/#necessity","title":"Necessity","text":"

Definition: one of the following strings:

"},{"location":"describing-objects/type-aliases/#operator","title":"Operator","text":"

Definition: one of the following strings:

"},{"location":"describing-objects/type-aliases/#parkinginteraction","title":"ParkingInteraction","text":"

Definition: one of the following strings:

"},{"location":"describing-objects/type-aliases/#paymentnteraction","title":"Paymentnteraction","text":"

Definition: one of the following strings:

"},{"location":"describing-objects/type-aliases/#queuesysteminteraction","title":"QueueSystemInteraction","text":"

Definition: one of the following strings:

"},{"location":"describing-objects/type-aliases/#restroomsignicon","title":"RestroomSignIcon","text":"

Definition: one of the following strings:

"},{"location":"describing-objects/type-aliases/#roominteraction","title":"RoomInteraction","text":"

Definition: one of the following strings:

"},{"location":"describing-objects/type-aliases/#seatinteraction","title":"SeatInteraction","text":"

Definition: one of the following strings:

"},{"location":"describing-objects/type-aliases/#showerinteraction","title":"ShowerInteraction","text":"

Definition: one of the following strings:

"},{"location":"describing-objects/type-aliases/#signageinteraction","title":"SignageInteraction","text":"

Definition: one of the following strings:

"},{"location":"describing-objects/type-aliases/#slope","title":"Slope","text":"

Definition: Quantity\u00a0|\u00a0string

"},{"location":"describing-objects/type-aliases/#smokingpolicy","title":"SmokingPolicy","text":"

Describes the smoking policy for visitors of a place.

Definition: one of the following strings:

"},{"location":"describing-objects/type-aliases/#smoothnesstype","title":"SmoothnessType","text":"

Definition: one of the following strings:

"},{"location":"describing-objects/type-aliases/#speed","title":"Speed","text":"

Definition: Quantity\u00a0|\u00a0string

"},{"location":"describing-objects/type-aliases/#surfacetype","title":"SurfaceType","text":"

Definition: one of the following strings:

"},{"location":"describing-objects/type-aliases/#temperature","title":"Temperature","text":"

Definition: Quantity\u00a0|\u00a0string

"},{"location":"describing-objects/type-aliases/#timeinterval","title":"TimeInterval","text":"

Definition: Quantity\u00a0|\u00a0string

"},{"location":"describing-objects/type-aliases/#toiletinteraction","title":"ToiletInteraction","text":"

Definition: one of the following strings:

"},{"location":"describing-objects/type-aliases/#volume","title":"Volume","text":"

Definition: Quantity\u00a0|\u00a0string

"},{"location":"describing-objects/type-aliases/#washbashininteraction","title":"WashBashinInteraction","text":"

Definition: one of the following strings:

"},{"location":"describing-objects/type-aliases/#wheelchairaccessibilitygrade","title":"WheelchairAccessibilityGrade","text":"

Definition: one of the following strings:

"},{"location":"describing-objects/type-aliases/#wifiinteraction","title":"WifiInteraction","text":"

Definition: one of the following strings:

"},{"location":"example-data/0-place/","title":"Accessibility for generic places of interest (PoIs)","text":"

To describe a generic place of interest, you can use the PlaceInfo type \u2013 the main place-of-interest object type in A11yJSON.

This type builds upon the Feature object type defined by GeoJSON (RFC 7946), so if you create an API delivering PlaceInfo objects, it might make sense to deliver them as a GeoJSON FeatureCollection object.

If you have no idea what this means: GeoJSON simplifies showing places on maps, and allows to load the data into common tools for geo-data processing (for example, QGIS) and web maps.

"},{"location":"example-data/0-place/#example-a-tourism-office","title":"Example: a tourism office","text":"

The following JSON describes a tourism office in Saxonia, Germany, as PlaceInfo with PlaceProperties.

The office features wheelchair accessible parking. The restrooms are wheelchair accessible.

Despite having a level entrance (no steps), the building is only partially accessible with a wheelchair:

{\n\"geometry\": { \"type\": \"Point\", \"coordinates\": [11.14204, 51.78911] },\n\"properties\": {\n\"category\": \"tourism\",\n\"name\": \"Quedlinburg-Information\",\n\"accessibility\": {\n\"parking\": {\n\"forWheelchairUsers\": { \"isAvailable\": true }\n},\n\"entrances\": [\n{ \"isLevel\": true }\n],\n\"restrooms\": [\n{ \"isAccessibleWithWheelchair\": false }\n],\n\"accessibleWith\": { \"guideDog\": true },\n\"partiallyAccessibleWith\": { \"wheelchair\": true }\n},\n\"infoPageUrl\": \"http://...\",\n\"phoneNumber\": \"+49 3946 905-624\",\n\"placeWebsiteUrl\": \"https://www.quedlinburg.de\",\n\"address\": {\n\"street\": \"Markt 4 \",\n\"postcode\": \"06484 \",\n\"city\": \"Quedlinburg\",\n\"state\": \"Sachsen-Anhalt\",\n\"country\": \"Deutschland\",\n\"countryCode\": \"DE\"\n},\n}\n}\n
"},{"location":"example-data/canteen/","title":"A canteen with a braille menu, but you need a buzzer to pick up your order","text":"

Experimental

Describing detailed interactions is still experimental - there are no final production/real world example usages for this yet.

The type definitions for this could still change frequently.

We think this is a cool idea though, so keep on reading and give us feedback \ud83d\ude4b\u200d\u2640\ufe0f

This example demonstrates the Interactable interface. You can use it to describe each step required to engage in the key purpose of a place, and to describe optional ways of engagement.

The descriptions can contain barriers, means of interaction, and required abilities and senses.

For a blind person who can read braille (like 90% of employed blind adults in the US), it might be interesting to know that the menu of this canteen features braille print, but they might ask for help to pick up an order.

"},{"location":"example-data/canteen/#describing-the-ordering-process","title":"Describing the ordering process","text":"

To describe interactions, first add the interactions property to properties.accessibility:

{\n\"accessibility\": {\n\"interactions\": {\n\u2026\n},\n}\n}\n

For each interaction, add a property to interactions:

{\n\"accessibility\": {\n\"interactions\": {\n\"order\": { \u2026 },\n\"pickUpOrder\": { \u2026 },\n},\n}\n}\n

In this case, we describe ordering food (order) and picking up your order (pickUpOrder). You can find all allowed property names in the GenericInteraction documentation, and that they vary between types \u2013 a vending machine's interaction set differs from a place's interaction set. A11yJSON does not allow arbitrary strings here for consistency reasons \u2013 this might enable you to gather accessibility statistics later, and results in a standardized set of common use cases. If you use case is missing but very common, feel free to create a pull request \u2013 or simply use main, which is the default interaction that happens at a location.

"},{"location":"example-data/canteen/#interaction-action-feedback-and-perception","title":"Interaction = action, feedback, and perception","text":"

In our model, an interaction consists of something you need to do (described in the action property and ActionMode type), feedback to what you do (described in action.feedback and the PerceptionMode type), and something you perceive (described in perception).

"},{"location":"example-data/canteen/#necessities-for-an-interaction-to-happen","title":"Necessities for an interaction to happen","text":"

For an interaction to happen, you need an InteractionMode, and specific, varying abilities. Some of these abilities are required to engage in the key purpose of a place, some can be optional, and some happen always, no matter if needed or not. The Necessity type has a list of these necessities we ascribe to an interaction mode or ability.

"},{"location":"example-data/canteen/#ordering-food","title":"Ordering food","text":"

To order something, guests can use English language (en) or American Sign Language (ase). The staff responds in the same languages, and hands over a buzzer. In our example canteen, using a buzzer is required. It has no other means of announcing that your order is ready to pick up.

{\n\"order\": {\n\"action\": {\n\"languages\": [\"en\", \"ase\"],\n\"signLanguage\": \"optional\",\n\"feedback\": {\n\"languages\": [\"en\", \"sgn-ase\"],\n\"signLanguage\": \"optional\",\n\"buzzer\": \"required\",\n},\n},\n\"perception\": {\n\"braille\": \"optional\",\n\"signLanguage\": \"optional\",\n},\n}\n}\n
"},{"location":"example-data/canteen/#pick-up-announcements","title":"Pick-up announcements","text":"

What abilities do you need to pick up food in this canteen? First, visitors need to find out that their orders are ready somehow. Our example canteen uses buzzers. Like most buzzer devices in gastronomy, our buzzers have multi-sensory output. The pickup process provides several sensory options (visual, tactile, sound) and always-happening outputs of various kinds (beep, flash, tactile, vibration).

{\n\"perception\": {\n\"visual\": \"optional\",\n\"sound\": \"optional\",\n\"tactile\": \"optional\",\n\"beep\": \"always\",\n\"flash\": \"always\",\n\"vibration\": \"always\",\n}\n}\n
"},{"location":"example-data/canteen/#picking-up-food","title":"Picking up food","text":"

An order is ready for pick-up. In a self-service canteen, the staff doesn't help you with carrying, which might be a barrier if you have a mobility impairment. So to move your order to your table, you need to be able to carry a specific weight:

{\n\"pickUpOrder\": {\n\"description\": {\n\"en\": \"You need carry the tray to your table yourself or ask for help.\",\n},\n\"action\": {\n\"carryWeight\": \"required\",\n\"weight\": {\n\"min\": 0.5,\n\"max\": 2,\n\"unit\": \"kg\",\n},\n},\n}\n}\n

Finally, we add helpful textual description attributes to the process steps. Here is the full example (in TypeScript):

canteen.ts
import { PlaceInfo } from '../PlaceInfo.js';\nconst canteenWithBrailleMenuAndBuzzer: PlaceInfo = {\ngeometry: {\ntype: 'Point',\ncoordinates: [-73.985664, 40.748817],\n},\nproperties: {\nname: {\nen: 'Canteen at the End of the Universe',\n},\ncategory: 'restaurant',\naccessibility: {\ninteractions: {\norder: {\ndescription: {\nen: 'You can order in sign language, and the menu is in Braille. You get a buzzer after ordering.',\n},\naction: {\nlanguages: ['en', 'sgn-ase'],\nsignLanguage: 'optional',\nfeedback: {\nlanguages: ['en', 'sgn-ase'],\nsignLanguage: 'optional',\nbuzzer: 'required',\n},\n},\nperception: {\nbraille: 'optional',\nsignLanguage: 'optional',\n},\n},\norderAnnouncement: {\ndescription: {\nen: 'When the buzzer announces your order, you have to pick it up at a separate counter. The staff there speaks sign language.',\n},\nperception: {\nvisual: 'optional',\nsound: 'optional',\ntactile: 'optional',\nbeep: 'always',\nflash: 'always',\nvibration: 'always',\n},\n},\npickUpOrder: {\ndescription: {\nen: 'You need carry the tray to your table yourself.',\n},\naction: {\ncarryWeight: 'required',\nweight: {\nmin: 0.5,\nmax: 2,\nunit: 'kg',\n},\n},\n},\n},\n},\n},\n};\nexport default canteenWithBrailleMenuAndBuzzer;\n
"},{"location":"example-data/cinema/","title":"A dog-friendly, wheelchair accessible cinema that offers audio descriptions (sometimes)","text":"
{\n\"geometry\": { \"type\": \"Point\", \"coordinates\": [2.376757, 48.898991] },\n\"properties\": {\n\"category\": \"cinema\",\n\"name\": \"Cin\u00e9 XY\",\n\"accessibility\": {\n\"accessibleWith\": {\n\"guideDog\": true,\n\"wheelchair\": true,\n},\n\"offersActivitiesForPeopleWith\": {\n\"visuallyImpairment\": true,\n},\n\"interactions\": {\n\"watch\": {\n\"required\": true,\n\"perception\": {\n\"languages\": [\"fr\", \"zh\"],\n\"subtitles\": \"always\",\n\"audioDescription\": \"sometimes\",\n\"byod\": \"optional\",\n\"educationLevel\": 3,\n\"visual\": \"optional\",\n}\n}\n}\n}\n}\n}\n
"},{"location":"example-data/elevator/","title":"Describing elevators","text":""},{"location":"example-data/elevator/#example-1","title":"Example 1","text":"

An EquipmentInfo record for an elevator in Berlin that is in service, including real-time operational status information:

{\n\"geometry\": { \"type\": \"Point\", \"coordinates\": [13.343837, 52.536183] },\n\"properties\": {\n\"category\": \"elevator\",\n\"isWorking\": true,\n\"originalId\": \"283\",\n\"originalPlaceInfoId\": \"900001201\",\n\"placeInfoId\": \"HKewiFCNgCCQS3ErP\",\n\"shortDescription\": \"Fu\u00dfg\u00e4ngertunnel U-/S-Bahnsteig \u27f7 U-Bahnsteig\",\n\"description\": \"Fu\u00dfg\u00e4ngertunnel, U- und S-Bahnsteig, und U-Bahnsteig\",\n\"longDescription\": \"zwischen dem Fu\u00dfg\u00e4ngertunnel, dem U- und S-Bahnsteig, und dem U-Bahnsteig\",\n}\n}\n
"},{"location":"example-data/elevator/#example-2","title":"Example 2","text":"

An elevator in Hamburg (with accessibility features) that is out of service:

{\n\"geometry\": { \"type\": \"Point\", \"coordinates\": [10.067907, 53.581786] },\n\"properties\": {\n\"category\": \"elevator\",\n\"isWorking\": false,\n\"shortDescription\": \"Stra\u00dfenebene \u27f7 Schalterhalle\",\n\"description\": \"zwischen Stra\u00dfenebene und Schalterhalle\",\n\"longDescription\": \"zwischen der Stra\u00dfenebene und der Schalterhalle\",\n\"placeInfoId\": \"4xaRom9QqMAxgxQnx\",\n\"accessibility\": {\n\"hasBrailleText\": true,\n\"hasSpeech\": true,\n\"hasDoorsInBothDirections\": false\n},\n}\n}\n
"},{"location":"example-data/museum/","title":"Accessible museums","text":""},{"location":"example-data/museum/#with-a-guided-tour-in-german-sign-language","title":"\u2026 with a guided tour in German Sign Language","text":"

See also (language code \"gsg\" or \"sgn-gsg\").

{\n\"properties\": {\n\"category\": \"museum\",\n\"accessibility\": {\n\"media\": [\n{ \"type\": \"tour\", \"languages\": [\"sgn-gsg\"] }\n]\n}\n}\n}\n
"},{"location":"example-data/museum/#with-tactile-artworks","title":"\u2026with tactile artworks","text":""},{"location":"example-data/museum/#variant-1","title":"Variant 1","text":"
{\n\"properties\": {\n\"category\": \"museum\",\n\"accessibility\": {\n\"media\": [\n{\n\"type\": \"exhibit\",\n\"accessMode\": [\"tactile\"],\n\"accessModeSufficient\": [\"tactile\"],\n\"name\": { \"en\": \"Collection of tactile models\" }\n}\n]\n}\n}\n}\n
"},{"location":"example-data/museum/#variant-2","title":"Variant 2","text":"
{\n\"properties\": {\n\"category\": \"museum\",\n\"accessibility\": {\n\"media\": [\n{\n\"type\": \"exhibit\",\n\"isTactile\": true,\n\"name\": { \"en\": \"Collection of tactile models\" }\n}\n]\n}\n}\n}\n
"},{"location":"example-data/wash-basin/","title":"A complex wash basin","text":"

This describes an actual fixture (in TypeScript) that we found in the building where the Sozialhelden e.V. office is.

washBasin.ts
import { WashBasin } from '../WashBasin.js';\nconst washBasin: WashBasin = {\nisLocatedInsideRestroom: true,\naccessibleWithWheelchair: false,\nheight: { value: 79, unit: 'cm' },\nspaceBelowHeight: { value: 75, unit: 'cm' },\nspaceBelowDepth: { value: 50, unit: 'cm' },\ninteractions: {\nchangeTemperature: {\naction: {\nsingleHanded: 'possible',\nnecessaryGripHeight: { value: 80, unit: 'cm' },\nburnHazard: true,\ntactileGuides: 'always',\nturnKnob: 'required',\ndirectionAxis: 'axial',\n},\nperception: {\nheat: 'required',\nvisual: 'optional',\ntemperature: { min: 20, max: 60, unit: 'degC' },\n},\n},\nchangeWaterPressure: {\naction: {\nsingleHanded: 'possible',\nnecessaryGripHeight: { value: 80, unit: 'cm' },\nturnKnob: 'required',\ndirectionAxis: 'sagittal',\nfeedback: {\ndescription: { en: 'The knob shows its position.' },\nvisual: 'always',\n},\n},\nperception: {\ntactileGuides: 'always',\n},\n},\ngetCarbonizedWater: {\naction: {\nsingleHanded: 'impossible',\ntwoHanded: 'possible',\nnecessaryGripHeight: { value: 100, unit: 'cm' },\ntactileGuides: 'always',\nknurled: true,\nknob: 'always',\nturnKnob: 'required',\npress: 'required',\ndirection: 'down',\nisEasyToUnderstand: false,\n},\nperception: {\ntactileGuides: 'always',\n},\n},\nuseSoap: {\naction: {\nsingleHanded: 'possible',\nnecessaryGripHeight: { value: 120, unit: 'cm' },\n},\nperception: {\nsmell: 'always',\nvisual: 'always',\nisEasyToFind: true,\n},\n},\ngetTowel: {\naction: {\nsingleHanded: 'possible',\nnecessaryGripHeight: { value: 120, unit: 'cm' },\n},\nperception: {\nvisual: 'always',\nisEasyToFind: true,\n},\n},\ngetPaperTowel: {\naction: {\nsingleHanded: 'possible',\nnecessaryGripHeight: { value: 120, unit: 'cm' },\n},\nperception: {\nisEasyToFind: true,\n},\n},\nuseAirDryer: {\naction: {\nsingleHanded: 'possible',\nnecessaryGripHeight: { value: 80, unit: 'cm' },\n},\nperception: {\nisEasyToFind: true,\n},\n},\nsanitizeHands: {\naction: {\nsingleHanded: 'possible',\nnecessaryGripHeight: { value: 120, unit: 'cm' },\npress: 'required',\nactivationForce: { value: 10, unit: 'N' },\n},\nperception: {\nisEasyToFind: true,\n},\n},\n},\n};\nexport default washBasin;\n
"}]} \ No newline at end of file diff --git a/sitemap.xml b/sitemap.xml index ab3ffd7..94d7c5c 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -2,77 +2,102 @@ https://sozialhelden.github.io/a11yjson/ - 2023-08-15 + 2024-06-23 daily https://sozialhelden.github.io/a11yjson/0-usage/ - 2023-08-15 + 2024-06-23 daily - https://sozialhelden.github.io/a11yjson/1-example-data/ - 2023-08-15 - daily - - - https://sozialhelden.github.io/a11yjson/2-who-uses-a11yjson/ - 2023-08-15 + https://sozialhelden.github.io/a11yjson/1-who-uses-a11yjson/ + 2024-06-23 daily https://sozialhelden.github.io/a11yjson/faq/ - 2023-08-15 + 2024-06-23 daily https://sozialhelden.github.io/a11yjson/i18n/ - 2023-08-15 + 2024-06-23 daily https://sozialhelden.github.io/a11yjson/x-contributing/ - 2023-08-15 + 2024-06-23 daily https://sozialhelden.github.io/a11yjson/best-practices/bad-examples-and-how-to-improve-them/ - 2023-08-15 + 2024-06-23 daily https://sozialhelden.github.io/a11yjson/best-practices/copytext-accessibility/ - 2023-08-15 + 2024-06-23 daily https://sozialhelden.github.io/a11yjson/best-practices/describe-objects-not-people/ - 2023-08-15 + 2024-06-23 daily https://sozialhelden.github.io/a11yjson/best-practices/rating-scales/ - 2023-08-15 + 2024-06-23 + daily + + + https://sozialhelden.github.io/a11yjson/describing-objects/0-model/ + 2024-06-23 daily https://sozialhelden.github.io/a11yjson/describing-objects/0-quantities/ - 2023-08-15 + 2024-06-23 daily https://sozialhelden.github.io/a11yjson/describing-objects/constants/ - 2023-08-15 + 2024-06-23 daily - https://sozialhelden.github.io/a11yjson/describing-objects/interfaces/ - 2023-08-15 + https://sozialhelden.github.io/a11yjson/describing-objects/type-aliases/ + 2024-06-23 daily - https://sozialhelden.github.io/a11yjson/describing-objects/type-aliases/ - 2023-08-15 + https://sozialhelden.github.io/a11yjson/example-data/0-place/ + 2024-06-23 + daily + + + https://sozialhelden.github.io/a11yjson/example-data/canteen/ + 2024-06-23 + daily + + + https://sozialhelden.github.io/a11yjson/example-data/cinema/ + 2024-06-23 + daily + + + https://sozialhelden.github.io/a11yjson/example-data/elevator/ + 2024-06-23 + daily + + + https://sozialhelden.github.io/a11yjson/example-data/museum/ + 2024-06-23 + daily + + + https://sozialhelden.github.io/a11yjson/example-data/wash-basin/ + 2024-06-23 daily \ No newline at end of file diff --git a/sitemap.xml.gz b/sitemap.xml.gz index 4c4e65bda8b8b7f33ba67e0e55d7da19dd795edf..4140d8213ed297a485cb0b1f2ad5a76e38dcc369 100644 GIT binary patch literal 436 zcmV;l0ZaZLiwFo>e|TmB|8r?{Wo=<_E_iKh0M(bzZlo{_#_xTK5qA@qU9Gw+hTi%F z+Xpbgg;XJ7uo;Fv{hAi7=3c3qqW*t#w^Q{vlAL{KJPwS z<)f{)QCNrJ`0mj6rZQXh?aRnA#I`;b$DdIAg5wWO*<&|p zw#U%X>qO_eMd#Pb+(bU9%zvz}02VMac69%sB`keZSYk*=-B&!{Kcp)k6Oi%>HU^no zGmFme`{!+l1;z=jI7@6AY=N#gjD9n4XrYe_NCY>GQ@jv}u0F{XW#hOCT?No;mtEt$ zlQp?AT4JllB8bf!Sz!oKA5+wCm0T?oZqozUq8jb~>38Wj$4gdgW2c z?E{$L0k1;B#AX@#^c!}k)!ZvpkPE~(*7rM(L-leS+~J*~aPa4>%!}+m-iDTacg}wO ze1%i?Qa@EwbV7Pa&R))0uR8uPW}fFCwoel=ccUrt?^*qHNMjA~_4YX` z7i_&okrYP4Z${UXYsu#wYd^1~Ms6le{b>8V4T-`S(JEUK(_s7Oz@-BAE%adq4Zy<~!#jbdZn-;AHjInX zO#yA13ODRnm)*%|No*=Cg3!E?RRJH;X9{VrcBducdOScZrb633{XO+7@;&+K2E9(` um6dlYAoVHHq+p-)?3LmL?M{=g%SeEZQT~U3&qw+hu0H^UnP

Contributing

We're delighted you're reading this because we need volunteer developers to help this project come to fruition. 👏

This project is not complete and will never be. We're open to your suggestions and comments, no matter if you have an idea for A11yJSON, if you want to share data on platforms like Wheelmap, or if you want to consume it in your own apps (for example, from accessibility.cloud).

Say hi via email or create an issue!

Please respect our Code of Conduct.

Even if you don’t have the resources to contribute code, you can help A11yJSON by spreading the word.

Pull requests

Before you make a pull request, please open an issue so we can discuss the contribution you want to make.

These steps guide you through contributing to this project:

  • Fork the repo
  • Clone it and install dependencies

    git clone https://github.com/sozialhelden/a11yjson
    -npm install
    -
  • Make and commit your changes.

  • Include tests and documentation.
  • Ensure that npm run build and npm run test:prod are still working without errors after your changes.

Finally, send a GitHub Pull Request with a clear list of what you've done (read more about pull requests). If possible, your commits should be atomic (one feature per commit).

Documentation with mkdocs-material

Prerequisites: Have a local Docker installation.

npm run docs:install        # Installs the mkdocs-material Docker image
-
-npm run docs:live           # Run this while making changes in the docs/ Markdown files
-
-npm run docs:deploy         # Deploys the documentation on GitHub pages
-
\ No newline at end of file +

Contributing

We're delighted you're reading this because we need volunteer developers to help this project come to fruition. 👏

This project is not complete and will never be. We're open to your suggestions and comments, no matter if you have an idea for A11yJSON, if you want to share data on platforms like Wheelmap, or if you want to consume it in your own apps (for example, from accessibility.cloud).

Say hi via email or create an issue!

Please respect our Code of Conduct.

Even if you don’t have the resources to contribute code, you can help A11yJSON by spreading the word.

Pull requests

Before you make a pull request, please open an issue so we can discuss the contribution you want to make.

These steps guide you through contributing to this project:

  • Fork the repo
  • Clone it and install dependencies

    git clone https://github.com/sozialhelden/a11yjson
    +npm install
    +
  • Make and commit your changes.

  • Include tests and documentation.
  • Ensure that npm run build and npm run test:prod are still working without errors after your changes.

Finally, send a GitHub Pull Request with a clear list of what you've done (read more about pull requests). If possible, your commits should be atomic (one feature per commit).

Documentation with mkdocs-material

Prerequisites: Have a local Docker installation.

npm run docs:install        # Installs the mkdocs-material Docker image
+
+npm run docs:live           # Run this while making changes in the docs/ Markdown files
+
+npm run docs:deploy         # Deploys the documentation on GitHub pages
+
\ No newline at end of file