- 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