Speech-Rule-Engine / speech-rule-engine

Generating speech descriptions for XML structures
https://zorkow.github.io/speech-rule-engine/
Apache License 2.0
75 stars 39 forks source link

structure:true without aria attributes #690

Closed pkra closed 10 months ago

pkra commented 1 year ago

It would be very helpful not to have it simultaneously to allow the exploration of other patterns. It also avoids having to clean up the attributes to work around SRE idiosyncrasies.

zorkow commented 1 year ago

For clarification: You want the skeleton attribute only, without any other aria annotations (like owns)?

pkra commented 1 year ago

For clarification: You want the skeleton attribute only, without any other aria annotations (like owns)?

Sorry, I used the wrong terminology -- I'll update the title.

No, I don't want a skeleton attribute.

I'm looking for whatever the structure: true, settgin was producing before the recent addition of aria-* and role attributes -- IIRC those were just data-semantic-* attributes but maybe I'm missing something.

From a quick look through recent commits, I'm guessing I'm looking to disableaddAria from fadf19d6bd55ed3a1f1e8b7b53df7078c8d97713. (The generated aria stuff is also problematic in itself but that's a separate issue).

zorkow commented 1 year ago

That's what I meant. And I probably knew that this issue was coming when I opted against YAO... But I can hide it behind YAO! No problem, but I am running out of letters. Any suggestions?

pkra commented 1 year ago

Any suggestions?

I'd say stop using ARIA attributes.

First, I think ARIA markup belongs on the mathjax end of things - they determine user facing behavior which is not what SRE usually provides.

Second, they are weirdly implemented; you seem to have followed my advice half-way with problematic results (both here and in the client-side walker).

Third, developers (like myself) who want to use alternative patterns now have to remove these first which is cumbersome and risks dropping actually useful information.

klobetime commented 1 year ago

ARIA does provide user-facing behavior, but arguably so does SRE -- the entire point of generating speech from math is to present it to the user in some fashion. I agree that ARIA can be problematic, but removing it entirely seems overkill. At the very least, aria-label is extremely useful in correcting issues that can't/shouldn't be corrected in other ways, such as in #632.

Not sure that @pkra was actually advocating removing everything ARIA related rather than hiding behind a flag, but wanted to make this point just in case. :)

pkra commented 1 year ago

Not sure that @pkra was actually advocating removing everything ARIA related rather than hiding behind a flag, but wanted to make this point just in case. :)

I see how this might have been confusing. To hopefully clarify: I requested that the option structure:true goes back to its old behavior - not adding any ARIA attributes. (SREs enrichment output is then still present in the output using data-semantic-* attributes.)

To explain again: the ARIA markup currently produced with this option is invalid and forces authors into a very specific ARIA pattern. Neither seems like a good idea.

(I realize now that #632 appears to be about input, not output so I may have misunderstood your point entirely.)

zorkow commented 1 year ago

PR #706 adds a new flag aria which is set to false by default. So you should no longer see the aria attributes.