w3c / wcag

Web Content Accessibility Guidelines
https://w3c.github.io/wcag/guidelines/22/
Other
1.08k stars 238 forks source link

1.4.10 Reflow needs a preamble #3121

Open mbgower opened 1 year ago

mbgower commented 1 year ago

In discussion with @maryjom about WCAG2ICT work, we noted that Reflow lacks both a preamble giving it context, as well as clearer guidance on how to apply at different form factors.

Setting aside the latter concern for now, I believe that a simple preamble could be added that which would provide guidance for non-web application generally, and potentially for some web applications that are locked down.

The approach is to add a simple preamble, "Where the size of the viewport or the size of the content can be altered...", to the existing text, so that the SC reads:

Where the size of the viewport or the size of the content can be altered, content can be presented without loss of information or functionality, and without requiring scrolling in two dimensions..."

detlevhfischer commented 1 year ago

@mbgower

Where the size of the viewport or the size of the content can be altered..."

  1. For mobile apps, would you interpret this as being true whenever the orientation of the device (and thereby the viewport width) can be changed?
  2. For mobile apps, even where orientation is locked, the platform may (or may not) afford split screen views and thus different viewport dimensions for content. Would this mean that the viewport sitze can be altered in principle even if the actual possibility may depend on the device and its OS where the app is running?
mbgower commented 1 year ago

Interesting questions, @detlevhfischer. For question 1, turning a device sideways does not alter the size of the viewport, right? You've merely altered the orientation. We have a success criterion that covers that. However, as you point out, unless the viewport is a square, when you change orientation, in the situation where you go from a wider to a thinner width, one of two things needs to happen in order to support orientation: either you require horizontal scrolling to maintain a static layout of content, or you need to resize. It is entirely possible to support re-orientation without changing aspect ratio of content or requiring horizontal scrolling. Just think of an image that simply gets bigger or smaller to fit the width, while maintaining the relative height. Likewise, all content could respond in lock step and not need to reflow. That seems to meet this wording, but I can see how someone could argue that content becoming tiny is not the desired outcome. So maybe we have to think through the wording and context more. To answer question two, I think we need more information than you've supplied. For instance, I've seen split views where each side maintains its prior dimensions by using horizontal scrolling. I've also seen ones where the user has the option of allowing text wrapping. I guess the exception language can cover that?

Thanks for highlighting some problems with the first draft of the wording --and maybe with the overall approach!

detlevhfischer commented 1 year ago

For question 1, turning a device sideways does not alter the size of the viewport, right?

I guess it may, or may not. With some apps, it appears to be the case that content adapts to a wider viewport and reflows - take the default iOS Mail app, for example. In other apps, content appears simply enlarged but breaks at the same place.

mbgower commented 1 year ago

I guess it may, or may not. With some apps, it appears to be the case that content adapts to a wider viewport

Sorry, what I meant is that the size of the window/screen -- does not change by changing the viewport. It is still width x height. it's just that those numbers are inverted. So the overall size of the viewport (the dimensions you can see) is not changed. What is shown in the viewport may change, but that's a very different thing than resizing the window by grabbing the resize button and making it half it's current width (which is what Reflow is about)

detlevhfischer commented 1 year ago

@mbgower ah - sure, so read "viewport width" instead of "viewport" (assuming that width will always be the horizontal dimension) - which is what determines breakpoints (in Western languages) and in turn reflow behavior.

mbgower commented 9 months ago

Confirmed that this issue is included in the Reflow scratchpad

@detlevhfischer if you're interested in being part of that discussion, or joining the WCAG 2.x TF that's dealing with these kinds of things (and meets Fridays at 3PM GMT

detlevhfischer commented 9 months ago

@mbgower At the moment I just can't find the time...

bruce-usab commented 5 months ago

First impressions, I feel like:

Where the size of the viewport or the size of the content can be altered...

Is too big a loophole for web content. I am open to being convinced otherwise.

It does seem perfectly reasonable to me for non-web documents and non-web software (and especially platform-specific software).

maryjom commented 5 months ago

I think you have to look at various use cases for viewing web content:

Perhaps some notes could be written to the effect that where a user agent doesn't support the scrolling width or height specified, that the web content will reflow to scroll within the size the user agent supports.