Skip to content

Create Reflow Tests - #2429

Draft
HelenBurge wants to merge 7 commits into
developfrom
Reflow-tests
Draft

Create Reflow Tests#2429
HelenBurge wants to merge 7 commits into
developfrom
Reflow-tests

Conversation

@HelenBurge

Copy link
Copy Markdown
Collaborator

First draft of the content reflow test

Creating the first draft of a reflow test, one of three new rules

Closes issue(s):

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.

First draft of the content reflow test
@netlify

netlify Bot commented Jul 13, 2026

Copy link
Copy Markdown

Deploy Preview for act-rules failed.

Name Link
🔨 Latest commit 8de47f2
🔍 Latest deploy log https://app.netlify.com/projects/act-rules/deploys/6a54ef00cd05980008f5ed36

@HelenBurge HelenBurge self-assigned this Jul 13, 2026
@HelenBurge
HelenBurge requested a review from G0dwin July 13, 2026 11:18
@HelenBurge HelenBurge added the Rule Use this label for a new rule that does not exist already label Jul 13, 2026
@HelenBurge
HelenBurge marked this pull request as draft July 13, 2026 13:31
@HelenBurge HelenBurge changed the title Create content-present-reflow-sc9kkf Create Reflow Tests Jul 13, 2026
@HelenBurge

Copy link
Copy Markdown
Collaborator Author

I know I have to add references and definitions to the tests - TBD

@WilcoFiers
WilcoFiers requested a review from giacomo-petri July 23, 2026 14:19

#### Failed Example 2

Navigation items removed instead of adapted.

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.

This looks like a repetition of the first example. Does this add or clarify something that the first example doesn't cover?


#### Failed Example 4

Content moved off-screen and not reachable.

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.

It looks to me like this content would not be available at any viewport size, this is also a common valid technique for applying text only available to AT.

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, we need a default state where this is available. In any case, this also seems to contradict the expectation

Each target element:
Retains all content and functionality when viewed at 320 CSS pixels; and
- Does not hide, remove, or make content unavailable as a result of viewport constraints, zoom, or responsive behaviour; and
- Ensures that any content that is visually hidden at this viewport size is still programmatically available and accessible to users.

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.

With the examples that you included that always hide content, I feel like we may need to define a way to compare before and after. For example, should we compare content at 1280 vs 320?

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'd agree with @G0dwin. We first need to define the default view


## Applicability

This rule applies to any element containing visible content or functional components. It is rendered when the viewport is set to 320 CSS pixels in the orientation of the text.

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 would encourage following the wording of the requirement.

As described in the understanding doc:

This criterion requires non-excepted sections of content that are written in horizontal languages reflow when narrowed to a width equivalent to 320 CSS pixels. Similarly, sections of content that are written in vertical languages (which are not as commonly used on the web and so will be used much less frequently in examples) need to be able to reflow when rendered at a height equivalent to 256 CSS pixels.

the orientation of the text is relevant in determining the applicable requirement. As currently written, the text appears to imply that the requirement is always 320 CSS pixels, even for vertically oriented content, which is inconsistent with the criterion.

Each target element:
Retains all content and functionality when viewed at 320 CSS pixels; and
- Does not hide, remove, or make content unavailable as a result of viewport constraints, zoom, or responsive behaviour; and
- Ensures that any content that is visually hidden at this viewport size is still programmatically available and accessible to users.

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'd agree with @G0dwin. We first need to define the default view


Each target element:
Retains all content and functionality when viewed at 320 CSS pixels; and
- Does not hide, remove, or make content unavailable as a result of viewport constraints, zoom, or responsive behaviour; and

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'd say this is ambiguous. For example, a navigation menu that is expanded by default on desktop but programmatically hidden on mobile until the user activates the hamburger menu could be interpreted as violating this requirement. I think we need more precise wording than "hide" to avoid unintentionally including these common responsive design patterns


## Applicability

This rule applies to any element containing visible content or functional components. It is rendered when the viewport is set to 320 CSS pixels in the orientation of the text.

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.

We can refine the applicability even further. For example, it could apply only to visible content with:

  • a height of at least 320 CSS pixels on pages with vertical scrolling
  • a height of at least 256 CSS pixels on pages with horizontal scrolling

This would align the applicability more closely with the corresponding reflow requirements


#### Passed Example 1

Content reflows but remains fully available.

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.

Suggested change
Content reflows but remains fully available.
Content remains fully available after reflow.

My feeling is that the use of "but" gives the sentence a negative tone

Each target element:
Retains all content and functionality when viewed at 320 CSS pixels; and
- Does not hide, remove, or make content unavailable as a result of viewport constraints, zoom, or responsive behaviour; and
- Ensures that any content that is visually hidden at this viewport size is still programmatically available and accessible to users.

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.

Also, in the first bullet we are saying not to hide or remove the content, whereas here we're saying that content that cannot be hidden (and is visually hidden) is programmatically available. I understand that the intent (even though I don't agree) is for the first bullet to cover programmatically hidden content and the second to cover only visually hidden content. However, that distinction isn't clear from the current wording


#### Failed Example 4

Content moved off-screen and not reachable.

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, we need a default state where this is available. In any case, this also seems to contradict the expectation

Comment on lines +252 to +256
```html
<div role="presentation">
Decorative content only.
</div>
```

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.

There is no mention of decorative content in either the SC or this rule. As written, this cannot be marked as inapplicable. Also, even if we decide to move in that direction (and I'm not convinced we should), I would replace the text with a decorative image, since the concept of "decorative text" is debatable

Comment on lines +278 to +285
#### Inapplicable Example 4

Content that is replaced by an equivalent alternative. The full content is replaced with an equivalent that preserves meaning.

```html
<p class="mobile">Short summary version</p>
<p class="desktop">Full detailed version</p>
```

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.

There is no mention of alternative in this rule. As written, this cannot be marked as inapplicable.


## Applicability

This rule applies to any element containing visible content or functional components. It is rendered when the viewport is set to 320 CSS pixels in the orientation of the text.

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.

It is rendered when the viewport is set to 320 CSS pixels in the orientation of the text.

the current wording implies that if the content is hidden at 320 CSS pixels, the rule is not applicable, which isn't our intent

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.

Reflow tests to be written

3 participants