-
Notifications
You must be signed in to change notification settings - Fork 26
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Accessibility Schema #69
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good overall to me... Great start for object and container labeling.
One item I raised verbally before as a future consideration is that sometimes a relevant time sequence needs an "announcement" for assistive technology, too... Either tied to a transition (for example, between slide builds where the change is more important than either end state) or a time code of the overall timelines, similar to closed captions or audio descriptions.
I agree. And I'd like to re-use an argument I made with Semantics: Accessibility is important enough to be quickly and easily discoverable through the If we were to "shoehorn" this in via The majority of the overlap I see with Something like
seems more like "accessibility information" to me, though that could be splitting-hairs. I think Accessibility information is important enough that I would also be wary of using it to dump Semantic Caption-like information, that could be overly-descriptive prompt input and not important information for the user to quickly access |
|
||
For example, a user may want to have a short summary of the object, but then ask details about its size. | ||
|
||
We propose that these be represented as purposes on the attribute. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@dgovil It seems like purposes could be represented as instances of multi apply schemas. I'm curious if you see any drawbacks to that.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Would that be like what you do here?
apiSchemas = ["SemanticsCaptionsAPI:summary",
"SemanticsCaptionsAPI:skills"]
In that case, how would the default unprefixed purpose be declared? Would it just be SemanticsCaptionsAPI
without the suffix as well?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not being able to have instance-less multi apply schemas is something we have run into before. Our best recommendation under the current system would be to have a canonical instance-- like default
. ie-- SemanticsCaptionsAPI:default
.
@crevilla might have some thoughts here about the complexities of allowing instance-less multi-apply schemas. The risk I see is a greater potential for namespace collisions.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I hadn't thought about it before, but I don't have a strong argument against allowing instance-less multi-apply schemas. An "instance-less" instance of a multi apply schema wouldn't be much different than a single apply schema and isn't really much different in regards to namespace collisions than single apply schemas.
We already validate against using property base names as instance names for multi-apply schema (during calls to Apply only, not in general). E.g. "includes" is not a valid instance name for applying CollectionAPI since all applied CollectionAPI instances have a collection::includes property. I don't see an immediately obvious issue that an empty instance would bring that we aren't already accounting for.
All that said, I'm not sure if an empty instance name is strictly better than a canonical "default" instance.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @crevilla! This is great info.
I think I would say that allowing empty instance names would be helpful when--
a) converting a single apply schema to a multiapply schema but still supporting legacy content.
b) making it clear to both OpenUSD and users what the canonical instance is. Otherwise, it's just a convention.
But a) might rare and b) could be satisfied by adding some metadata to your schema about preferred instance names.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just picking this comment thread up again,
Perhaps it makes sense to just have the default purpose be explicitly accessibility:label:default
rather than be implicit? Then there's no logic that needs to be thought about, and its fairly straightforward to do a 1:1 mapping at the expense of a little verbosity?
Description of Proposal
As USD enters more widespread use, with a range of interactive experiences for spatial computing and the web, it becomes necessary to make sure we do not exclude anyone. It is important for 3D content to be as accessible as other media types for people with a range of needs that may require virtual assistive services.
To facilitate this, we propose the addition of accessibility metadata, using industry standard nomenclature.
Link to Rendered Proposal
This proposal has significant overlap with the Semantic Captions Proposal . We are discussing how to best proceed, and whether it is valuable to have both or merge the two etc...
Please leave your comments on either PR, whichever suits your note best.
Contributing