- From: Joshue O Connor <joconnor@w3.org>
- Date: Fri, 14 Jun 2019 12:21:59 +0100
- To: "Janina Sajka (janina@rednote.net)" <janina@rednote.net>
- Cc: W3C WAI Accessible Platform Architectures <public-apa@w3.org>
Hi Janina and all,
Here is my pass at providing alternate text for the figures contained
within the Thing Description spec.
I hope this is useful.
Josh
<Thing Description Alternate Text>
https://w3c.github.io/wot-thing-description/
//Figure 1 TD Core Vocabulary
Thing Class - Table contains:
@context: anyURI (or Array)
@type: string [0..*]
id: anyURI
title: string
description: string [0..1]
created: dateTime [0..1]
modified: dateTime [0..1]
support: anyURI [0..1]
base: anyURI [0..1]
security: string [0..1]
NOTE: Each class is represented visually in it's own table.
This 'root' thing class relates to and feeds the following class tables:
Form class
{forms [0..*]
Link [0..*]}
MultiLanguage class
{titledescriptions [0..1]}
VersionInfo class
{version [0..1]
instance: string}
SecurityScheme class
{securityDefinitions: [1..*] }
PropertyAffordance class
{observable: boolean [0..1]
properties [0..*]}
ActionAffordance class
{safe: boolean
idempotent: boolean [0..1]
actions: 0..*
events:0..1
input:0..1
output: 0..1}
EventAffordance class
{data
subscription
cancellation}
PropertyAffordance class also feeds the DataSchema class, as does the
Interaction Affordance class. The Interaction Affordance class feeds the
Multilanguage and Forms class.
InteractionAffordance class
{uriVariable:[0..*]}
PropertyAffordance class
{observable: boolean [0..1]
properties [0..*]}
ActionAffordance class
{safe: boolean
idempotent: boolean [0..1]}
EventAffordance
// Figure 2 JSON schema vocabulary
DataSchema Class - Table contains
@type: string [0..*]
title: string
description: string [0..1]
const: (any type) [0..1]
unit: string [0..1]
enum: (Array)[0..*]
readOnly: boolean
writeOnly: boolean
format: string [0..1]
StringSchema, BooleanSchema, NullSchema class all feed the DataSchema class.
As does:
ArraySchema class
{minitems: unsignedInt [0..1]
maxitems: unsignedInt [0..1]}
ObjectSchema class
{required: string [0..*]
maxitems: unsignedInt [0..1]}
NumberSchema class
{minimum: double [0..1]
maximum: double [0..1]}
IntegerSchema class
{minimum: integer [0..1]
maximum: integer [0..1]}
The DataScheme class property const: [oneOf: 0..*] feeds the
MultiLanguage class.
MultiLanguage class
{titles: [0..1]
descriptions: [0..1]}
Also ObjectSchema and ArraySchema feed items and properties properties
to the const property of the DataSchema class.
//Figure 3 WoT security vocabulary
SecuritySchema class - Table contains
@type: string [0..*]
scheme: string
description: string [0..1]
proxy: anyURI [0..1]
The scheme property from the SecuritySchema class feeds the
MultiLanguage class. The MultiLanguage class contains:
MultiLanguage class
{descriptions: [0..1]}
The SecuritySchema class is fed by the following 10 classes:
NoSecurityScheme class
BasicSecurityScheme class
{in: string
name: string [0..1]}
DigestSecurityScheme class
{gop: string
in: string
name: string [0..1]}
APIKeySecurityScheme class
{in: string
name: string [0..1]}
BearerSecurityScheme class
{authorization: anyURI[0..1]
alg: string
format: string
in: string
name: string [0..1]}
CertSecurityScheme class
{identity: string [0..1]}
PSKSecurityScheme class
{identity: string [0..1]}
PublicSecurityScheme class
{identity: string [0..1]}
PopSecurityScheme class
{authorization: anyURI[0..1]
alg: string
format: string
in: string
name: string [0..1]}
OAuth2SecurityScheme class
{authorization: anyURI[0..1]
token: anyURI [0..1]
refresh: anyURI [0..1
scopes: anyURI [0..1]
flow: string }
//Figure 4 Hypermedia controls vocabulary
This vocabulary contains three classes, they are:
Link class
{href: anyURI
type: string [0..1]
rel: string [0..1]
anchor: anyURI}
Form class
{ op: string [1..*]
href: anyURI
contentType: string
contentCoding: string [0..1]
subprotocol: string [0..1]
security: string [0..*]
scopes: string [0..*]}
The contentCoding property feeds a response to the last class
ExpectedResource.
ExpectedResource class
{contentType: string
response: 0..1 }
//Figure 5 TD Serialization, TD and Thing on a light switch example
The following figure can be described using an aria-describedby property
- as the paragraphs that follow it give a good overview of the contents
of the figure.
<figure
id="fig-td-serialization-td-and-thing-on-a-light-switch-example"><img
src="images/model-theory-explainer.png">
<figcaption>Figure <bdi class="figno">5<!---0.037920%--></bdi> <span
class="fig-title"><a href="#dfn-td-serialization" class="internalDFN"
data-link-type="dfn">TD Serialization</a>, <a href="#dfn-td"
class="internalDFN" data-link-type="dfn">TD</a> and <a href="#dfn-thing"
class="internalDFN" data-link-type="dfn">Thing</a> on a light switch
example</span></figcaption>
</figure>
NOTE: I suggest using the second paragraph (start shown below), is a
good description but as there is no ID associated with this <p> this
will need to be added to create a programmatic association between the
figure and the text that describes it.
<p>An intelligent WoT client can be assigned the task of turning a light
off in ontological terms, using SAREF. [...]
[...]
</Thing Description Alternate Text>
--
Emerging Web Technology Specialist/A11y (WAI/W3C)
Received on Friday, 14 June 2019 11:22:04 UTC