- From: John Foliot <john.foliot@deque.com>
- Date: Fri, 14 Jun 2019 13:00:30 -0500
- To: "Janina Sajka (janina@rednote.net)" <janina@rednote.net>
- Cc: W3C WAI Accessible Platform Architectures <public-apa@w3.org>, Joshue O Connor <joconnor@w3.org>
- Message-ID: <CAKdCpxxBqq=mWZ-vudwY1=1ZnoyabTdZwA+Kio7F44SqGdFetw@mail.gmail.com>
+1 to moving forward. Joshue, I presume that the content itself would be semantically marked up (correct?). i.e. <!-- begin example --> <p>This vocabulary contains three classes, they are:</p> <fieldset> <legend>Link class</legend> <ul> <li>{href: anyURI</li> <li> type: string [0..1]</li> <li> rel: string [0..1]</li> <li> anchor: anyURI} </li> </ul> </fieldset> <!-- End example --> Note: I'm not 100% sure about the use of legend and fieldset here: the semantics make sense on paper (at least to me), but not sure if there is a practical utility to that grouping (I could not discern one in my quick NVDA testing). Not a hill to die on. Note 2: we could also maybe do this: <p>This vocabulary contains three classes, they are:</p> <p id="foo">Link class</p> <ul aria-labeledby="foo"> <li>{href: anyURI</li> ... But again, I'm not getting any practical utility from it (but... I really want to ensure that "Link class" is a direct label to the list, and not an inferred one. Janina, am I going too far? Does making "Link class" a nested header help any further (feels wrong to me, but...)) I know, I know... John, put down the coffee, you've had enough... (in the end, semantic markup is the goal - at least for me Josh) JF On Fri, Jun 14, 2019 at 11:21 AM Janina Sajka (janina@rednote.net) < janina@rednote.net> wrote: > 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 > > > -- *​John Foliot* | Principal Accessibility Strategist | W3C AC Representative Deque Systems - Accessibility for Good deque.com
Received on Friday, 14 June 2019 18:01:32 UTC