Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Replace JavaScript-only action links with semantic controls - #8978

Draft
yguedidi wants to merge 20 commits into
masterfrom
refactor/replace-javascript-only-links/replace-javascript-only-links-semantic-controls
Draft

Replace JavaScript-only action links with semantic controls#8978
yguedidi wants to merge 20 commits into
masterfrom
refactor/replace-javascript-only-links/replace-javascript-only-links-semantic-controls

Conversation

@yguedidi

@yguedidi yguedidi commented Aug 1, 2026

Copy link
Copy Markdown
Contributor
Q A
Bug fix? yes
New feature? no
BC breaks? no
Deprecations? no
Tests pass? yes
Documentation no
Translation no
CHANGELOG.md no
License MIT

Part of #8967.

Replace JavaScript-only action links and role=button icons with native buttons while preserving navigational anchors, Materialize hooks, and UI parity. This is the semantic-control foundation for the accessibility layer above it.

  • Manual desktop and mobile browser review completed

This draft is easiest to review one commit at a time; its descriptive fixups intentionally remain visible.

yguedidi added 20 commits August 1, 2026 22:45
Replace the primary Materialize navigation action link with a native button while retaining its controller hookup and toggle behavior.

This establishes the semantic-control pattern at the navigation boundary. Remaining navigation trigger variants stay as adjacent fixups so reviewers can assess each migration slice independently.
…avigation panel controls

Move the reader sidenav and account-menu triggers onto the established button pattern.

These are the remaining navigation-panel variants, so they stay adjacent to the seed rather than becoming a second navigation change.
…ilter and export controls

Convert the filter and export panel triggers to semantic buttons while preserving their target wiring.

They use the same mechanical replacement as the seed and are grouped for one focused follow-up review.
…responsive control styling

Keep the converted main navigation trigger visually consistent in the responsive and dark-theme navigation styles.

The styling is derivative of the button migration, so it remains attached to that seed.
Replace the topbar mode trigger with a native button while keeping the existing Stimulus mode transition intact.

The topbar has a distinct interaction model, so its semantic conversion is reviewed separately from navigation triggers.
…search close controls

Convert the close controls used by the add URL and search modes to native buttons.

They complete the same topbar pattern and remain an adjacent fixup for focused review.
…ior and styling

Retain the close-button icon layout after the semantic element change.

This visual adjustment is inseparable from the converted topbar control and stays a fixup.
Convert the shared theme-selection actions to native buttons without changing the theme controller contract.

Theme selection is a separate control family and can be reviewed independently from topbar modes.
…heme controls

Apply the established theme-button pattern to reader-specific theme actions.

These controls share the seed behavior and remain grouped as its follow-up.
…lize dropdown behavior

Preserve dropdown, sidenav, and dark-theme styling for converted theme controls.

The style changes are derivative of the theme conversion and belong in its fixup block.
Convert the primary reader action control to a native button while retaining the existing disclosure wiring.

Reader actions have their own interaction surface, so this seed stays separate from topbar and theme controls.
…nd floating actions

Convert theme, share, and floating reader disclosures to the established button pattern.

These controls complete the same reader-action migration and remain together for a focused follow-up review.
…rt and print actions

Convert the remaining export and print reader actions to native buttons.

They use the seed pattern and stay in its fixup block instead of creating a second reader action story.
…-click protection

Remove Materialize keyboard handling that duplicates native button activation.

This is a compatibility correction to the reader button conversion and belongs with its seed.
Replace the initial configuration help trigger with a native button while preserving the tooltip controller contract.

Configuration help is a separate control family and is intentionally isolated for review.
…ooltip triggers

Apply the configuration-help button pattern to the remaining article-display tooltip triggers.

They are equivalent migrations, so this stays as the seed follow-up.
…-control dimensions

Keep tooltip icon alignment and line-height stable after the native button conversion.

The CSS adjustment is a direct completion of the configuration-help seed.
Add a repository-wide Twig anchor guard that rejects anchors without real destinations.

This establishes the semantic regression boundary after the button migrations; specialized invalid destinations follow as fixups.
…are fragment destinations

Reject bare hash destinations in Twig anchors.

This narrows the seed validation with one concrete invalid-link form, so it remains a fixup.
…ly the intentional bookmarklet

Reject JavaScript destinations while retaining the known static bookmarklet exception.

The exception refines the same anchor guard and belongs in its fixup block.
@netlify

netlify Bot commented Aug 1, 2026

Copy link
Copy Markdown

Deploy Preview for wallabag-doc ready!

Name Link
🔨 Latest commit 9514db3
🔍 Latest deploy log https://app.netlify.com/projects/wallabag-doc/deploys/6a6e69e091698b0008e358e5
😎 Deploy Preview https://deploy-preview-8978--wallabag-doc.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.

@codecov

codecov Bot commented Aug 1, 2026

Copy link
Copy Markdown

Bundle Report

Changes will increase total bundle size by 14.75kB (0.08%) ⬆️. This is within the configured threshold ✅

Detailed changes
Bundle name Size Change
wallabag-array-push 19.32MB 14.75kB (0.08%) ⬆️

Affected Assets, Files, and Routes:

view changes for bundle: wallabag-array-push

Assets Changed:

Asset Name Size Change Total Size Change (%)
197.*.js 3.23kB 2.05MB 0.16%
820.*.js (New) 1.4MB 1.4MB 100.0% 🚀
sre/speech-worker.js 2.72kB 417.3kB 0.66%
820.*.css (New) 266.0kB 266.0kB 100.0% 🚀
main.*.js 1.05kB 78.39kB 1.35%
fonts/eb-garamond-latin-ext-400-normal.*.woff -924 bytes 76.61kB -1.19%
fonts/eb-garamond-latin-ext-400-normal.*.woff2 -308 bytes 56.96kB -0.54%
fonts/eb-garamond-latin-400-normal.*.woff 2.34kB 28.61kB 8.91% ⚠️
main.*.css 438 bytes 27.26kB 1.63%
fonts/eb-garamond-latin-400-normal.*.woff2 2.12kB 23.82kB 9.75% ⚠️
fonts/eb-garamond-cyrillic-ext-400-normal.*.woff 12 bytes 20.43kB 0.06%
fonts/eb-garamond-cyrillic-ext-400-normal.*.woff2 48 bytes 16.8kB 0.29%
fonts/eb-garamond-cyrillic-400-normal.*.woff -48 bytes 15.5kB -0.31%
fonts/eb-garamond-cyrillic-400-normal.*.woff2 24 bytes 13.27kB 0.18%
fonts/eb-garamond-greek-400-normal.*.woff -32 bytes 12.55kB -0.25%
fonts/eb-garamond-greek-400-normal.*.woff2 -12 bytes 10.75kB -0.11%
fonts/eb-garamond-greek-ext-400-normal.*.woff -1.41kB 8.37kB -14.44%
fonts/eb-garamond-vietnamese-400-normal.*.woff -600 bytes 7.76kB -7.18%
fonts/eb-garamond-greek-ext-400-normal.*.woff2 -752 bytes 6.46kB -10.42%
fonts/eb-garamond-vietnamese-400-normal.*.woff2 -408 bytes 6.2kB -6.17%
runtime.*.js 285 bytes 3.52kB 8.82% ⚠️
public.*.js 14 bytes 1.11kB 1.28%
mathjax.*.js 14 bytes 1.0kB 1.41%
530.*.js (Deleted) -1.4MB 0 bytes -100.0% 🗑️
530.*.css (Deleted) -266.0kB 0 bytes -100.0% 🗑️

@codecov

codecov Bot commented Aug 1, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 91.46%. Comparing base (f055f5e) to head (9514db3).
⚠️ Report is 4 commits behind head on master.
✅ All tests successful. No failed tests found.

Additional details and impacted files
@@            Coverage Diff            @@
##             master    #8978   +/-   ##
=========================================
  Coverage     91.46%   91.46%           
  Complexity     2012     2012           
=========================================
  Files           178      178           
  Lines          7144     7144           
=========================================
  Hits           6534     6534           
  Misses          610      610           
Flag Coverage Δ
functional 73.09% <ø> (ø)
integration 22.46% <ø> (ø)
unit 25.08% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant