Speed tests using semantic HTML

TL;DR

The following speed tests make the best use of semantic elements:

  1. Google Fiber
  2. Cloudflare
  3. Xfinity xFi Speed Test
  4. M-Lab
  5. SpeedOf.me API Sample Page
 

Contents

  1. Introduction
  2. Method of measurement
  3. Speed tests to test
  4. The measurements
  5. Conclusions
 

Introduction

At the page Semantic HTML | Accessibility Guidelines it is stated that (...) Structural, semantic HTML is the key starting point toward good accessibility practices (...)

Two best practices for using semantic HTML are mentioned:

  1. Use Container Elements for Layout Only
  2. Use Other HTML Elements the Way They’re Intended

Regarding the container elements it is stated that (...) Elements like <div> and <span> are for layout only. They’re semantically meaningless, they don’t have keyboard or touch support in any browser (...)

 

Method of measurement

For this test we visit the homepage of the speed test, use ZOMDir's Page inspector and take a look at the Elements view.

The test is invoked immediately after loading the homepage.

For this test, we note the absolute number of non semantic elements and the percentage of semantic elements.

 

Speed tests to test

Because this is a relative simple test, the unique speed tests as collected at ZOMDir will be tested.

 

The measurements

  1. Astound speedtest 32 non-semantic elements, 54% semantic elements
  2. Bandwidth Place 158 non-semantic elements, 76% semantic elements
  3. Bredbandskollen 206 non-semantic elements, 55% semantic elements
  4. Broadband Internet Speed test (Gone) 21 non-semantic elements, 75% semantic elements
  5. Broadband Speed Checker 112 non-semantic elements, 76% semantic elements
  6. Cloudflare 1 non-semantic element, 97% semantic elements
  7. Comparitech 73 non-semantic elements, 85% semantic elements
  8. DSLReports 120 non-semantic elements, 80% semantic elements and 8 deprecated elements
  9. Fast 95 non-semantic elements, 62% semantic elements
  10. Fireprobe 834 non-semantic elements, 36% semantic elements
  11. Google Fiber 0 non-semantic elements, 100% semantic elements
  12. Internet Speed at a Glance 19 non-semantic elements, 81% semantic elements
  13. LibreSpeed 31 non-semantic elements, 67% semantic elements
  14. M-Lab 3 non-semantic elements, 93% semantic elements
  15. Meter.net 343 non-semantic elements, 48% semantic elements
  16. N Perf 113 non-semantic elements, 82% semantic elements
  17. Ookla Speedtest 77 non-semantic elements, 89% semantic elements
  18. Open Speed Test 58 non-semantic elements, 73% semantic elements
  19. SamKnows 49 non-semantic elements, 65% semantic elements
  20. SpeedCheck 97 non-semantic elements, 79% semantic elements
  21. SpeedOf.me 89 non-semantic elements, 56% semantic elements
  22. SpeedOf.me API Sample Page 5 non-semantic elements, 87% semantic elements
  23. SpeedSmart 250 non-semantic elements, 46% semantic elements
  24. Speedtest4.PHP Not able to test
  25. TestMy.net 85 non-semantic elements, 74% semantic elements
  26. Toast 153 non-semantic elements, 46% semantic elements and 1 deprecated element
  27. Which Broadband Speed Test 103 non-semantic elements, 61% semantic elements
  28. Xfinity xFi Speed Test 2 non-semantic elements, 96% semantic elements
 

Conclusions

Based on the above measurements, we conclude that:

  1. The minimum number of non-semantic elements is 0
  2. The maximum number of non-semantic elements is 834
  3. The average number of non-semantic elements is 116
  4. The median of the number of non-semantic elements is 85

If we group the speed tests by the number of non semantic elements, we get the following list:

  1. 0 non-semantic elements: Google Fiber
  2. 1 non-semantic element: Cloudflare
  3. 2 non-semantic elements: Xfinity xFi Speed Test
  4. 3 to 5 non-semantic elements: M-Lab and SpeedOf.me API Sample Page
  5. 6 to 10 non-semantic elements: None
  6. 11 to 20 non-semantic elements: Internet Speed at a Glance
  7. 21 to 50 non-semantic elements: Broadband Internet Speed test (Gone), LibreSpeed, Astound speedtest and SamKnows
  8. 51 to 100 non-semantic elements: Open Speed Test, Comparitech, Ookla Speedtest, TestMy.net, SpeedOf.me, Fast and SpeedCheck
  9. 101 to 200 non-semantic elements: Which Broadband Speed Test, Broadband Speed Checker, N Perf, DSLReports, Toast and Bandwidth Place
  10. 201 to 500 non-semantic elements: Bredbandskollen, SpeedSmart and Meter.net
  11. 501 plus non-semantic elements (and not testable): Fireprobe and Speedtest4.PHP

It will be clear that the fewer non-semantic elements are used, the higher the percentage of semantic elements.

Speed tests with fewer than 10 non-semantic elements, sorted by descending percentage of semantic elements, are:

  1. Google Fiber
  2. Cloudflare
  3. Xfinity xFi Speed Test
  4. M-Lab
  5. SpeedOf.me API Sample Page