The Fragile Accessibility Tree: Why Semantic HTML is Key to Performance

Gràcies

a11yconf logo
Joan Leon logo
WebPerf-Snippets logo
X icon logo
Instagram icon logo
Bluesky icon logo
Telegram logo
Google Developer Expert badge
Cloudinary Ambassador logo
Google Developer Group Girona logo
GitHub icon logo
LinkedIn icon logo
Joan Leon photo
GeeksCAT logo
We Improve Your Website's Performance Increase your revenue and make your users happier with our web auditing and optimization services. Us +20 companies recommend us

Web Performance

Accessibility

PerfReviews logo

How a browser works?

PerfReviews logo
Illustrated diagram explaining how a web browser works. It shows the sequence from when the user navigates to a page, downloads the HTML, starts analysing the HTML during download, obtains and analyses the CSS, calculates styles, processes the layout, paints and finally updates the view. It includes timelines separating network and execution tasks, along with drawings of browser windows with animated expressions.
PerfReviews logo
PerfReviews logo
Illustration showing how the DOM plus ARIA information maps to the accessibility tree. On the left, there is a browser window displaying HTML code for a webpage structure. Arrows point from the HTML code to a tree diagram on the right, representing the accessibility tree with colored nodes and branches.
PerfReviews logo
Screenshot of a mobile settings screen with a purple header titled ‘Settings’. Below, a list of ringtone options is shown as radio buttons. The choices include None, Callisto, Ganymede, and Luna, with ‘Callisto’ selected.
PerfReviews logo
A screenshot showing HTML markup for a Material Design radio button. The code defines a radio button with the ID "ganymede" and name "moons", wrapped within a div with the class "mdc-radio". It includes nested divs for the radio button's visual elements: "mdc-radio__background", "mdc-radio__outer-circle", and "mdc-radio__inner-circle". A label element with "for='ganymede'" displays the text "Ganymede" next to the radio button.
PerfReviews logo
A slide with a purple background titled "To make this you need:". It lists the technical requirements to build a Material Design component, specifically the one shown in the previous image (a radio button). The requirements are broken down into three columns: HTML (6 elements, 9 attributes, DOM depth of 3), CSS (66 selectors, 141 properties, 10k minified), and JavaScript (2,374 lines unminified, 30k minified). A note at the bottom says, "Includes the Material ripple effect."

Carmen Torrecillas

PerfReviews logo
 A slide with a white background and large, bold black text.  On the left, the text reads: momento STOP  On the right, the text reads: Stop, Take a breath, Observe and Proceed [Emoji of a laughing-crying face]  ¿¿...y si lo rehacemos todo... otra vez... en nativo?? (Spanish for: "...and what if we redo everything... again... natively??")  The slide likely represents a moment of reflection or a challenging question about rewriting a project in native code after stopping to observe the current situation.
PerfReviews logo
A screenshot showing the minimal HTML markup for a standard radio button. The code defines an input element with type="radio", name="moons", and id="ganymede". This input is followed by a label element with for="ganymede" and the text "Ganymede". Both the input and label are wrapped within a div with the class "c-radio".
PerfReviews logo
A slide with a purple background and the main title "HTML". Below the title is a two-column table comparing the HTML complexity for a Material Design component versus an "A11Y Styled Form Controls" component (referencing the radio button from previous images).  The comparison table shows:  Material Design: 6 elements, 9 attributes, DOM depth of 3.  A11Y Styled Form Controls: 3 elements, 5 attributes, DOM depth of 2.
PerfReviews logo
A slide with a purple background and the main title CSS. Below the title is a two-column table comparing the CSS complexity for a Material Design component versus an A11Y Styled Form Controls component (referencing the radio button).  The comparison table shows:  Material Design: 66 selectors, 141 properties, 10k minified.  A11Y Styled Form Controls: 20 selectors, 42 properties, 1k minified.
PerfReviews logo
A slide with a purple background and the main title JavaScript. Below the title is a two-column table comparing the JavaScript complexity for a Material Design component versus an A11Y Styled Form Controls component (referencing the radio button).  The comparison table shows:  Material Design: 2,374 lines unminified, 30k minified.  A11Y Styled Form Controls: None, 0k minified.

Developer

Experience

User

Experience

PerfReviews logo

>

PerfReviews logo
A screenshot of the Chrome DevTools Performance panel showing the recorded performance profile for the website www.renfe.com/es/es.  The main timeline shows heavy activity, particularly in the Main thread, represented by tall, colorful vertical bars indicating long tasks, scripting, rendering, and painting. Key performance metrics visible on the timeline include FCP (First Contentful Paint) and LCP (Largest Contentful Paint), with LCP occurring late in the timeline (after 5.982 ms). The Network track above the main thread shows numerous requests occurring in parallel, and the CPU utilization chart at the top shows a high load of yellow (scripting) and purple (rendering) tasks. The total recording duration shown is over 6 seconds.

Web Performance

Accessibility

PerfReviews logo

&

Screenshot of the web.dev ‘Learn Accessibility’ course page. The header shows the web.dev logo and navigation menu, with a large blue banner titled ‘Learn Accessibility’. A progress box on the right displays ‘Completion percentage: 0%’ with a sign-in prompt. Below, a list of course activities appears, including items titled ‘Welcome to Learn Accessibility!’, ‘What is digital accessibility, and why does it matter?’, and ‘How is digital accessibility measured?’
PerfReviews logo

Accessible is Performant | Eric Bailey | performance.now() 2024

Accessible is Performant | Eric Bailey | performance.now() 2024
PerfReviews logo
Joan Leon logo
Joan Leon photo

Gràcies

https://slides.com/joanleon/web-performance-accessibility

Web Performance & Accessibility

By Joan León

Web Performance & Accessibility

  • 15