Skip to content

[3.0] Theme split (wave 4, part 20) — read out the page links before the buttons beside them - #9445

Merged
live627 merged 1 commit into
SimpleMachines:release-3.0from
albertlast:3.0/pagesection-order
Aug 10, 2026
Merged

[3.0] Theme split (wave 4, part 20) — read out the page links before the buttons beside them#9445
live627 merged 1 commit into
SimpleMachines:release-3.0from
albertlast:3.0/pagesection-order

Conversation

@albertlast

@albertlast albertlast commented Aug 9, 2026

Copy link
Copy Markdown
Collaborator

Description

A .pagesection holds the page links and a row of buttons, one floated to each side. The markup put the buttons first, so anything reading the page in source order — a screen reader, or the tab key — met them before the page links they sit next to, which is the opposite of what is on screen.

The message index is the clearest case, because it draws a .pagesection above the topic list and another below it, and the two disagreed. The top one already put the page links first; only the bottom one was the other way round.

Verification

.pagesection is a plain display: block and both children are really floated, so nothing moves. Measured on the message index, where both sections are visible at once:

section element before after
top page links x=72, w=143 x=72, w=143
top button strip x=709, w=401 x=709, w=401
bottom page links x=72, w=122 x=72, w=122
bottom button strip x=709, w=401 x=709, w=401

Only the DOM order changes — the bottom section goes from buttonlist | pagelinks | mobile_buttons to pagelinks | buttonlist | mobile_buttons, matching the top one.

Covers the memberlist, the two sections on ?action=moderate;area=postmod, and the message index. The quick-moderation variant of the moderation-centre section could not be exercised on the test install.

I checked that this is genuinely a no-op before claiming it, because it is not always: .cat_bar became a flex row in #9390, and a float is ignored on a flex item, so the same-looking reorder there does move things (see #9449). .pagesection is still a block, so it does not.

Issues References (Fixes|Related|Closes)

Related: #7933

@jdarwood007 jdarwood007 added this to the 3.0 Alpha 5 milestone Aug 9, 2026
A .pagesection holds the page links and a row of buttons, one floated to
each side. The markup put the buttons first, so anything reading the page
in source order - a screen reader, or the tab key - met them before the
page links they sit next to, which is the opposite of what is on screen.

The message index is the clearest case: it draws a .pagesection above the
topic list and another below it, and the two disagreed. The top one already
put the page links first; only the bottom one was the other way round.

Both are floated and .pagesection is a plain block, so the rendering does
not move. Measured on the message index, where both sections are visible at
once: page links at x=72 and the button strip at x=709 before and after, in
both sections. Same on the memberlist. Only the order in the document
changes.

Signed-off-by: Mathias Alberts <mathiaspapealbert@hotmail.com>
Signed-off-by: albertlast <mathiaspapealbert@hotmail.com>
@albertlast
albertlast force-pushed the 3.0/pagesection-order branch from 291bcb3 to 9f2c40f Compare August 9, 2026 14:54
@albertlast albertlast mentioned this pull request Aug 9, 2026
@live627
live627 merged commit 4594c4a into SimpleMachines:release-3.0 Aug 10, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants