Skip to content

Create content-present-reflow-sc9kkf - #2445

Open
WilcoFiers wants to merge 3 commits into
developfrom
content-present-reflow-sc9kkf
Open

WilcoFiers wants to merge 3 commits into
developfrom
content-present-reflow-sc9kkf

Conversation

@WilcoFiers

@WilcoFiers WilcoFiers commented Aug 31, 2026

Copy link
Copy Markdown
Member

First draft of the content-present-reflow rule: content is not missing at 320 CSS pixels.

Split from #2429 so each reflow rule can be reviewed independently. Original work by @HelenBurge.

Related to #2424.

Need for Call for Review:
This will require a 2 weeks Call for Review


Pull Request Etiquette

When creating PR:

  • Make sure you're requesting to pull a branch (right side) to the develop branch (left side).
  • Make sure you do not remove the "How to Review and Approve" section in your pull request description

After creating PR:

  • Add yourself (and co-authors) as "Assignees" for PR.
  • Add label to indicate if it's a Rule, Definition or Chore.
  • Link the PR to any issue it solves. This will be done automatically by referencing the issue at the top of this comment in the indicated place.
  • Optionally request feedback from anyone in particular by assigning them as "Reviewers".
  • If your PR is for a new rule with an Accessibility Support note, or for updating the Accessibility Support note of an existing section, make sure to open a corresponding Accessibility Support issue.

When merging a PR:

  • Close any issue that the PR resolves. This will happen automatically upon merging if the PR was correctly linked to the issue, e.g. by referencing the issue at the top of this comment.

How to Review And Approve

  • Go to the “Files changed” tab
  • Here you will have the option to leave comments on different lines.
  • Once the review is completed, find the “Review changes” button in the top right, select “Approve” (if you are really confident in the rule) or "Request changes" and click “Submit review”.
  • Make sure to also review the proposed Call for Review period. In case of disagreement, the longer period wins.

Made with Cursor

Split from #2429. Original work by Helen Burge.

Co-authored-by: HelenBurge <41951878+HelenBurge@users.noreply.github.com>
@WilcoFiers WilcoFiers added the Rule Use this label for a new rule that does not exist already label Aug 31, 2026
@netlify

netlify Bot commented Aug 31, 2026

Copy link
Copy Markdown

Deploy Preview for act-rules ready!

Name Link
🔨 Latest commit 6597029
🔍 Latest deploy log https://app.netlify.com/projects/act-rules/deploys/6aabfb8f64f75e00086266d4
😎 Deploy Preview https://deploy-preview-2445--act-rules.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
🤖 Make changes Run an agent on this branch

To edit notification comments on pull requests, go to your Netlify project configuration.

@WilcoFiers WilcoFiers mentioned this pull request Aug 31, 2026
8 tasks
@HelenBurge
HelenBurge marked this pull request as ready for review September 3, 2026 13:03

@WilcoFiers WilcoFiers left a comment

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I stopped after the expectation. Plenty to do already. I can't request changes since this is my own PR.


## Applicability

This rule applies to any non-excepted element containing visible content or functional components, requiring text to reflow when the viewport is set to a width of 320 CSS pixels for horizontal languages or a height of 256 CSS pixels for vertical languages; to align applicability more closely with these reflow requirements, it can be refined to target only visible content with a height of at least 320 CSS pixels on pages with vertical scrolling, or a height of at least 256 CSS pixels on pages with horizontal scrolling.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  1. "non-excepted" What does that mean?
  2. did you mean (visible content) or (functional components) or visible (content or functional components)?
  3. "requiring text to reflow" How do I know if the text requires reflow? I would probably pull this and say regardless of if it requires reflow, if content disappears on.a 320x256 viewport that's a failure.
  4. "320 CSS pixels for horizontal languages" WCAG doesn't say this only applies to horizontal writing systems. Why would we limit it that way? Horizontal text can easily end up being clipped vertically when the width of the viewport changes.
  5. "to align applicability more closely with these reflow requirements..." I don't understand what this means or what its doing here.
  6. Does this include decorative content? For images, are you sure ANY truncation should result in a failure?
  7. Is it acceptable to replace larger things with smaller ones? Like a text "home" with a home icon for instance?
  8. You're not accounting for text that was clipped/hidden in the original view. Presumably content that's cut off in any resolution shouldn't fail this requirement.
  9. I think we need to specify the original viewport. If I start at 321x257 and then go to 320x256 that isn't likely to make much of a difference. I don't think people can test this consistently if we don't establish the starting resolution.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am going to rewrite this in my own words soon... maybe...

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Start with 1280 x 1024 resolution going down to 320 to 256

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@HelenBurge HelenBurge Sep 17, 2026

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Example - non-wrapping code - Wilco wants a pass - if the code must maintain a line then do not wrap it.

Procedure for code snippets
Display the web page in a user agent where the page can be zoomed, or the user agent can be resized.
Zoom in or resize the browser window so that the viewport is equivalent to 320 CSS pixels wide.
The code snippets fits within the width so that it is only necessary so scroll vertically to read each line of code.
Or, for code where non-wrapping lines are not essential, the code wraps or a mechanism is provided to allow line wrapping.
Or, the indentation and linebreaks are meaningful to the code language.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Explain in background that the tester knows the language requirements

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Clarify the reflow tests specifically
Text is not cutoff at 320 CSS pixels
Orientation scrolls do not exist at 320 CSS pixels without a content exception
Content is not missing at 320 CSS pixels - this is this one

Comment thread _rules/content-present-reflow-sc9kkf Outdated
Comment on lines +30 to +32
Each target element:

Retains all content and functionality when viewed with a height of at least 320 CSS pixels on pages with vertical scrolling, or a height of at least 256 CSS pixels on pages with horizontal scrolling:

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This doesn't exactly follow how to write an ACT rule. I'd do something like this:

Suggested change
Each target element:
Retains all content and functionality when viewed with a height of at least 320 CSS pixels on pages with vertical scrolling, or a height of at least 256 CSS pixels on pages with horizontal scrolling:
For each target element, when the viewport is set to 320 by 256 CSS pixels, the content is not cut off, removed, or obscured by another element, except if one of the following is true:
- the hidden content can be scrolled into view, or
- an [instrument][] is available to reveal the content.

I think you're throwing far too much at the wall here hoping to find issues.

  1. First you say things can't be cut off, and then you follow it up by saying it can if you can scroll it into view.
  2. "unavailable as a result of viewport constraints, zoom, or responsive behaviour;" what are these things, and how do I test them? I know at least 3 different zoom methods, which ones do you mean? I think this can be cut.

Each target element:

Retains all content and functionality when viewed with a height of at least 320 CSS pixels on pages with vertical scrolling, or a height of at least 256 CSS pixels on pages with horizontal scrolling:
- Does not cut-off, remove, or make content unavailable as a result of viewport constraints, zoom, or responsive behaviour; and

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is truncation allowed at all? Like with the three dots.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes - that is ok if the content is still available in a form - like the subsequent page

@@ -0,0 +1,257 @@
---

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should be a .md file. File extension is missing.

Co-authored-by: Wilco Fiers <WilcoFiers@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Rule Use this label for a new rule that does not exist already

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants