- From: Janina Sajka (janina@rednote.net) <janina@rednote.net>
- Date: Fri, 14 Jun 2019 12:20:48 -0400
- To: W3C WAI Accessible Platform Architectures <public-apa@w3.org>
- Cc: Joshue O Connor <joconnor@w3.org>
Colleagues: If there is no disagreement with Josh's suggestion, I would like to start a CfC to test whether we have consensus to make this a formal APA comment on the Web of Things Thing specification. NOTE: The specification is a Candidate Recommendation (CR) currently, thus the desire to move expeditiously. Janina Joshue O Connor writes: > 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) > -- Janina Sajka Linux Foundation Fellow Executive Chair, Accessibility Workgroup: http://a11y.org The World Wide Web Consortium (W3C), Web Accessibility Initiative (WAI) Chair, Accessible Platform Architectures http://www.w3.org/wai/apa
Received on Friday, 14 June 2019 16:21:15 UTC