-
Notifications
You must be signed in to change notification settings - Fork 214
Add support for Accessibility Export #4361
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
Conversation
|
@scottrenaud @seando-adsk I assume that shows up because of the automatic attribute editor creation that happens? I'll take a look into moving it into a more intentional spot as requested. Either way, thank you both for the feedback. I'll take a pass at these next week. |
|
Oh also just a note, the reason the "Default" appears in the attribute editor, is because it's a multiple apply schema, where each instance can have a name and "default" is the name of that instance. But you can have arbitrary other names too for different purposes. I suspect, based on the current automatic treatment that the attribute editor doesn't special case for multiple apply api schemas yet. @scottrenaud how would you feel about a slight modification to your proposal, where instead of having the label, description etc right under the AccessiblityAPI group, we introduce a group in between for the name? So in your suggestion it would be "AccessibilityAPI > Label" as the view hierarchy, but I think it might be more flexible to be "AccessibilityAPI > Name > Label" where name is the name of the specific instance. The AccessibilityAPI isn't the only multiple apply API schema but this could at least set precedent for the others. |
|
Hey Dhruv, That could work, I think the only downside is that if there's only 1 schema applied, then we have 2 groupings. At the moment we treat each USD Collection (also a multiple apply schema) as a separate section/rollout, so I was thinking it'd be ok to do the same with Accessibility, ex: name1 Accessibility, name2 Accessibility,... I'm ok either way and we can always iterate. Thanks!, |
|
Yeah totally fair point. Okay I'll try that out, and see how it feels. I'll ping the thread next week when I have updates ready. Thanks again for the input. |
We recently added support for Accessibility metadata and are trying to enable the creation of more accessible USD files out of Maya. This first implementation supports adding data on the default prim and corresponds with a matching PR we will be making to Blender. This adds two new fields to the Advanced group. Our goal here is to enable third party developers and internal pipelines to store the data in their USD files so they can surface it to accessibility runtimes. Since Accessibility was only added in USD 25.5, I currently implemented this by ad-hoc writing the attributes. I realize that Maya 2026.2 has 25.5 mode, but many of our third party developers aren't yet able to upgrade to Maya 2026 or run in the OpenUSD 25.5 mode. Once Maya has 25.5 ubiquitously available, I can replace this with the actual AccessibilityAPI calls, but in the meantime the test validates the result against USD 25.5 for your CI.
1. Remove extra print 2. Move accessibility higher in the export options to be alphabetical 3. Use the standard API when available, or ad-hoc when not. Adjust tests to make sure it tests both paths to avoid drift. TODO: Still need to adjust the stage attribute editor as requested
47dc801 to
af07af7
Compare
|
@seando-adsk I've discovered a bug in the ae_template.py that I'd like to run by you. If you take a look at I tried this with some other schemas and it seems consistent. I'll see if I can figure out what's causing it and fix it in this PR, but I wanted to flag that to you. |
|
Ah looks to be an easy fix. I'll fix that up |
|
@scottrenaud and @seando-adsk I think I've hit all the notes. To hit the notes, I did have to be a little more extensive in my changes. I don't think anything I did should be objectionable, but I just wanted to call attention to it:
Here's the export UI
and the attribute editor
|
|
@pierrebai-adsk Can you please review the code? Once you approve just let me know (before running a preflight). We want to run the preflight with the zips so that QA can test before we merge. Thanks, Sean |
pierrebai-adsk
left a comment
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.
Extremely minor nit-pick, would work without that requested change really. So it could be merge if it is urgent or anything.
pierrebai-adsk
left a comment
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.
Good job!
|
Hi @dgovil I ran the preflight, and unfortunately there are two problems: Compiler error - I think just missing the 2024 Linux: Test Failure: |
|
Ah my bad. I accidentally removed the include keyword in my last commit. I'll take a look at those attribute editor issues next. Not sure what would have caused them. |
|
Hmm @seando-adsk , I'm not sure why the Maya 2024 tests fail for the material tests, and I don't have 2024 on hand to test with. I fixed the collections issue though. I'm running in 2026.2 locally, and my tests pass + I verified interactively |
|
@dgovil Ran preflight again and got another build error in Maya 2026: The 2024 build still failed the AE test: If you need help with the 2024 test let me know and I can have someone try it internally. Sean |
|
@seando-adsk Thanks for running the clang-formatter. I fixed the build issue as well. It is odd that it only fails on 2024, which makes me think it might be a Python version difference? But I ran the code through Jetbrains compatibility checker and it didn't flag any issues for Python 3.10 (which is what I recall 2024 using) |
…tible with older USD versions.
|
@dgovil I pushed a commit to your branch in your repo that fixes the problem on Maya 2024. Is was due to using an API not available on USD 0.22. |
|
Ah thank you very much for catching and fixing that, @pierrebai-adsk ! |




We recently added support for Accessibility metadata and are trying to enable the creation of more accessible USD files out of Maya.
This first implementation supports adding data on the default prim and corresponds with a matching PR we will be making to Blender. This adds two new fields to the Advanced group.
Our goal here is to enable third party developers and internal pipelines to store the data in their USD files so they can surface it to accessibility runtimes.
Since Accessibility was only added in USD 25.5, I currently implemented this by ad-hoc writing the attributes. I realize that Maya 2026.2 has 25.5 mode, but many of our third party developers aren't yet able to upgrade to Maya 2026 or run in the OpenUSD 25.5 mode. Once Maya has 25.5 ubiquitously available, I can replace this with the actual AccessibilityAPI calls, but in the meantime the test validates the result against the USD 25.5 when run in that mode in your CI.