Meeting minutes
scribe+ Current status
Current status
Matt_King: We have a pull request in review that changes the reference example
Matt_King: It doesn't affect all tests, though--it only affects the tests that Joe reported where the heading is being hidden
Matt_King: For now, it would be best to skip the tests in the radio group test plan where the heading is hidden by the setup script
IsaDC: The name of the group is "pizza crust"
IsaDC: I would advise against running any of the tests
Matt_King: I'm fine with that
Matt_King: In terms of the bot, though, once we have the new version of the test plan in the queue
Matt_King: Was the question about the bot regarding the version of the bot?
dean: I was just wondering if someone would run this test plan with the bot before I do
Matt_King: I believe the answer is "yes"
Matt_King: Though there was recently a macOS update... What version of macOS is the bot currently running?
howard-e: It should only be able to run the latest version of 14
Matt_King: But now, we have all the testers running macOS 15
IsaDC: Yes, and it is important to have the bot running that version because there have been regressions with VoiceOver. The bot wouldn't catch those if it used the older version of macOS
Matt_King: Is something preventing us from upgrading the bot?
howard-e: There have been issues that were previously reported to GitHub; I'm trying to pull up the details on that, now
Matt_King: Okay, well, for disclosure. mmoss, you are recording those without the use of the bot, right?
mmoss: That's correct
Matt_King: It looks like you're just getting started. I guess we don't have any problems there, then, right?
mmoss: Nope! The recorder was doing something strange, but I think I've worked that out
howard-e: We don't support macOS 15 yet because GitHub doesn't fully support it, yet
Matt_King: So we're dependent on GitHub, then
howard-e: That's right
Matt_King: I guess there's no way for us to work around that dependency
Matt_King: I wonder what's holding things up. That could end up being a real inhibitor to the project. What if it takes them a year to support it?
Matt_King: Should we raise a support ticket with GitHub?
jugglinmike: I believe the maintainers of Guidepup have reported it, already
<howard-e> actions/
howard-e: And it looks like they've replied within the last few weeks. We at Bocoup queried just a couple days ago
Matt_King: I wonder if that kind of dependency is a risk to the project that we should be thinking about other ways to work around
Matt_King: Perhaps Assistive Labs has more control over their systems...
Matt_King: I suppose the alternative would be building a new approach to how we run automation
IsaDC: We did some work with Assistive Labs, so I may be able to ask them. What do we need, exactly?
Matt_King: I think jugglinmike or howard-e would be the best to write a request like that
Matt_King: I'm not sure we want to request it just yet. But GitHub's lack of support does seem concerning, given how long that version has been publicly available
Matt_King: So for the link examples, I see a new 2025-01-23 version here
Matt_King: We need to assign people, right?
IsaDC: no--Luke from PAC is re-running them, and I've already run some in NVDA to catch up with VoiceOver. It should be out of the queue by the end of Friday
Matt_King: Awesome! That's really good
Matt_King: So, at this point, dean is on hold and mmoss is plugging away
Matt_King: I think we'll get dean back on pretty soon. I think what I'm going to do, IsaDC, is prioritize the review of the radio stuff (because I think that's simpler), then I'll come back to slider after we solve the issues in the next discussion topic
New slider assertions
Matt_King: The best thing for people to do, to make this discussion really concrete, is to look at the examples while we're discussing them
Matt_King: In the agenda, I put links to two different APG examples. I also put a link to a draft test plan
Matt_King: Now, for the question
Matt_King: there are four different properties associated with slider. Three take numbers, and the fourth is aria-value-text (a textual value that is used in the event that the author believes that a number on its own is not understandable)
Matt_King: A good example for that is if you have, say, days of the week that are represented by numbers. The author can use aria-value-text to associate those numbers with names of week days
Matt_King: The author is also required to set value-min and value-max. In that example, those would be 1 and 7, respectively
Matt_King: If the screen reader is going to read, say, "Monday," and you were to hear "min one max seven"
Matt_King: It seems relatively clear most of the time that those minimum and maximum values are not relevant to screen readers
Matt_King: But we have examples in APG that make that a little less clear
Matt_King: In the first, we use "value text" so that it can say "degrees Celsius" when you're hearing the value
Matt_King: The slider goes from 10 to 38
Matt_King: For whatever reason, ARIA requires the author to set those. At least right now, JAWS is dutifully reporting those in certain circumstances
Matt_King: The way I hear with with JAWS as the example exists in the APG, "temperature up down slider 25.05 degrees Celsius min 10 max 38"
Matt_King: That makes sense. In this case, there's no harm in hearing the minimum and maximum
Matt_King: However, if you look at the "Seek slider" example in APG
Matt_King: In this case, the slider goes from 0 to 300 seconds, but humans don't think very well in terms of time using seconds.
Matt_King: When you go to this slider, JAWS will say "1 minute and 30 seconds of 5 minutes" that is the value text when the value is 90
Matt_King: JAWS goes on to say "min 0 max 300"
Matt_King: So the question is: is the maximum 300 minutes?
Matt_King: So there's an argument that there's harm for JAWS to be doing that
Matt_King: This example makes it more clear what the problems with announcing the numeric min and max
Matt_King: So that's the problem, in a nutshell
Matt_King: Do you folks understand the properties, how authors use them, and what screen readers are doing?
mmoss: It all makes sense to me
mmoss: And I agree that it's very confusing for the horizontal slider
dean: I'm sorry, I missed that.
dean: I'm not assigned to the slider yet, right?
Matt_King: No, you're not. We're still trying to figure out what we should be asserting for the slider
Matt_King: There are at least two possible ways of approaching this problem
Matt_King: But before that, I wanted to know if what I was saying makes sense to you (about the numeric properties and how they interact with aria-value-text)
dean: Yes
Matt_King: Good
Matt_King: So, for the ways we could approach this
Matt_King: We could say, "you must not say the min and the max if value-text is specified"
Matt_King: Right now, they don't say "value-now" if "value-text" is specified
Matt_King: We could write "negative assertions" (i.e. "MUST NOT" or "SHOULD NOT")
Matt_King: Another option could be to not have any assertion at all and label it "unexpected verbosity" and call it a negative side-effect
dean: I can't see this because it's not in the test queue
Matt_King: I put a link in the agenda
dean: I didn't bother to look at the agenda. I apologize
Matt_King: These are two examples in the APG where the APG example author intentionally are trying to show how to go beyond--how to use "value text" in a way that is helpful to users
Matt_King: By the way, I have seen media seek sliders where the value of the slider is in milliseconds
Matt_King: This media seek slider was actually inspired by that nonsense
dean: I'd go so far as to say that--and I haven't done a lot of work with sliders--we need to give people the ability to turn off the noise. As in, I don't need to know how much time is left because I don't care
dean: I don't know if we have that mechanism available
Matt_King: If you had the focus on the slider while the media is playing, you might get that kind of behavior. As a screen reader user, though, you wouldn't keep the focus
dean: Oh, that makes sense
Matt_King: When I looked at the plan, I started to get a little uncomfortable with these "negative assertions"
Matt_King: I am not happy with what ARIA is doing here. It feels to me that we should have an "ARIA min text" and an "ARIA max text"
Matt_King: ...or we should say, "if aria-text" is specified, you don't have to specified min and max. Maybe even make it an authoring error to do so
Matt_King: Right now, it's on the screen readers to ignore the numeric values if text is specified
Matt_King: I'm not sure changing ARIA is a good path forward for this project right now. I'm not even sure it's feasible (there could be important and valid reason for the current design)
Matt_King: I'm mostly thinking about how we deal with the status quo if we don't change ARIA
Matt_King: A negative assertion makes it really clear to screen reader developers what needs to be ignored in cases like this. There's a part of me that leans against negative assertions and to just code this behavior as excess verbosity
Matt_King: If we just rely on testers to identify excessive verbosity, then that's not a very robust test
IsaDC: I think it would be more appropriate to use it in the media slider to demonstrate how disruptive it is to hear those min and max values
mmoss: Thinking about verbosity in general and whether or not some people might want that verbosity... We probably want the default behavior to change but to keep optional behavior
mmoss: I hesitate to circumvent testing first
Matt_King: So would that mean leaning in the direction of a "SHOULD NOT" kind of statement?
mmoss: I've always wondered about the specification itself as it relates to min and max
Matt_King: Yes. It is actually written in the ARIA spec that if you have value-text, it is a replacement for value-now
mmoss: That's my understanding, as well
mmoss: IsaDC mentioned leaning in to the media slider as the test case to demonstrate. I think that might be really helpful
IsaDC: Yes, that would should "one minute of five" with a minimum of 0 which is fine, but the maximum would be 300
Matt_King: We could have made this more obvious if we designed it to use milliseconds...
mmoss: Is it verbosity?
Matt_King: I'm not sure I would call it excess verbosity in the strict sense
Matt_King: I mean, technically, it is. It's extraneous
Matt_King: There is a rating slider which uses the same technique in the APG
Matt_King: It uses a slightly different approach
IsaDC: It uses stars. I think media seek slider is a much better illustration of the problem
IsaDC: I'm leaning toward using a negative assertion because it's more clear for testers
jugglinmike: Historically, when we've observed excessive output, we've simply failed the test. We're discussing a lot about this, though. Is that because we recognize the cause of the behavior and we feel that other screen readers are likely to make the same mistake?
Matt_King: This is unique because it's a case where rendering attribute values is a problem
Matt_King: This might be another argument in favor of negative assertions
Matt_King: Telling authors about what to expect based on their markup makes it more clear in my head about why it is really clear to have negative assertions
Matt_King: So I'm glad you asked that, jugglinmike
Matt_King: So I think the plan is for IsaDC to do what she's done with this plan but to use SHOULD
IsaDC: I expect to be able to bring a draft to our next meeting. Then we'll be able to review the effect of a negative assertion in a more practical way