Webperf result blog.mathiaskunto.com
4.23
Results from https://blog.mathiaskunto.com/
404 Page
4.95
Results collected at 2026-09-23
Standards section:
- Page not found, invalid text foundwarning
Tested:
- https://blog.mathiaskunto.com/dc249/finns-det-en-sida/pa-den-har-adressen/testanrop/
- Page not found, has expected 404 responseok
- Page not found, valid title foundok
- Page not found, valid h1 header foundok
- Page not found, valid text foundok
- Page not found, valid 404 response status code usedok
- Page not found, used supported localeok
- Page not found, valid body text foundok
- Page not found, network is usableok
- Page not found, invalid text foundwarning
Tested:
- https://blog.mathiaskunto.com/dc249/finns-det-en-sida/pa-den-har-adressen/testanrop/
- Page not found, has expected 404 responseok
- Page not found, valid title foundok
- Page not found, valid h1 header foundok
- Page not found, valid text foundok
- Page not found, valid 404 response status code usedok
- Page not found, used supported localeok
- Page not found, valid body text foundok
- Page not found, network is usableok
Sitespeed.io
4.56
Results collected at 2026-09-23
Performance section:
- [desktop] TTFB (Time to First Byte): 398.67ms, ±13.33ms 3.00
- [desktop] DOMContentLoaded: 551.00ms, ±13.00ms 4.90
- [desktop] LCP (Largest Contentful Paint): 660.00ms, ±8.00ms 3.00
- [desktop] Load: 701.67ms, ±12.33ms 4.60
- [desktop] CLS (Cumulative Layout Shift): 0.00ms, ±0.00ms 5.00
- [desktop] FirstVisualChange: 550.00ms, ±16.00ms 4.90
- [desktop] SpeedIndex: 962.50ms, ±34.50ms 4.08
- [desktop] VisualComplete85: 1835.00ms, ±35.00ms 2.33
- [desktop] FCP (First Contentful Paint): 546.00ms, ±0.00ms 5.00
- [desktop] TBT (Total Blocking Time): 0.00ms, ±0.00ms 5.00
- [desktop] firstPaint: 546.00ms, ±10.00ms
- [desktop] LastVisualChange: 1835.00ms, ±35.00ms
- [mobile] TTFB (Time to First Byte): 431.67ms, ±10.33ms 5.00
- [mobile] DOMContentLoaded: 683.67ms, ±77.33ms 5.00
- [mobile] LCP (Largest Contentful Paint): 652.00ms, ±84.00ms 5.00
- [mobile] Load: 880.67ms, ±78.33ms 5.00
- [mobile] CLS (Cumulative Layout Shift): 0.00ms, ±0.00ms 5.00
- [mobile] FirstVisualChange: 583.50ms, ±16.50ms 5.00
- [mobile] SpeedIndex: 897.00ms, ±15.00ms 5.00
- [mobile] VisualComplete85: 1815.00ms, ±15.00ms 4.37
- [mobile] FCP (First Contentful Paint): 586.00ms, ±0.00ms 5.00
- [mobile] TBT (Total Blocking Time): 0.00ms, ±0.00ms 5.00
- [mobile] firstPaint: 586.00ms, ±18.00ms
- [mobile] LastVisualChange: 2285.00ms, ±15.00ms
- [desktop] TTFB (Time to First Byte): 398.67ms, ±13.33ms 3.00
- [desktop] DOMContentLoaded: 551.00ms, ±13.00ms 4.90
- [desktop] LCP (Largest Contentful Paint): 660.00ms, ±8.00ms 3.00
- [desktop] Load: 701.67ms, ±12.33ms 4.60
- [desktop] CLS (Cumulative Layout Shift): 0.00ms, ±0.00ms 5.00
- [desktop] FirstVisualChange: 550.00ms, ±16.00ms 4.90
- [desktop] SpeedIndex: 962.50ms, ±34.50ms 4.08
- [desktop] VisualComplete85: 1835.00ms, ±35.00ms 2.33
- [desktop] FCP (First Contentful Paint): 546.00ms, ±0.00ms 5.00
- [desktop] TBT (Total Blocking Time): 0.00ms, ±0.00ms 5.00
- [desktop] firstPaint: 546.00ms, ±10.00ms
- [desktop] LastVisualChange: 1835.00ms, ±35.00ms
- [mobile] TTFB (Time to First Byte): 431.67ms, ±10.33ms 5.00
- [mobile] DOMContentLoaded: 683.67ms, ±77.33ms 5.00
- [mobile] LCP (Largest Contentful Paint): 652.00ms, ±84.00ms 5.00
- [mobile] Load: 880.67ms, ±78.33ms 5.00
- [mobile] CLS (Cumulative Layout Shift): 0.00ms, ±0.00ms 5.00
- [mobile] FirstVisualChange: 583.50ms, ±16.50ms 5.00
- [mobile] SpeedIndex: 897.00ms, ±15.00ms 5.00
- [mobile] VisualComplete85: 1815.00ms, ±15.00ms 4.37
- [mobile] FCP (First Contentful Paint): 586.00ms, ±0.00ms 5.00
- [mobile] TBT (Total Blocking Time): 0.00ms, ±0.00ms 5.00
- [mobile] firstPaint: 586.00ms, ±18.00ms
- [mobile] LastVisualChange: 2285.00ms, ±15.00ms
Pa11y
4.00
Results collected at 2026-09-23
Accessibility section:
- This element has insufficient contrast at this conformance level. Expected a contrast ratio of at least 4.5:1, but text in this element has a contrast ratio of 2.26:1. Recommendation: change text colour to #338711.error
Tested:
- https://blog.mathiaskunto.com/
- This element has insufficient contrast at this conformance level. Expected a contrast ratio of at least 4.5:1, but text in this element has a contrast ratio of 2.11:1. Recommendation: change background to #047cbe.error
Tested:
- https://blog.mathiaskunto.com/
- This element has insufficient contrast at this conformance level. Expected a contrast ratio of at least 4.5:1, but text in this element has a contrast ratio of 2.26:1. Recommendation: change text colour to #338711.error
Tested:
- https://blog.mathiaskunto.com/
- This element has insufficient contrast at this conformance level. Expected a contrast ratio of at least 4.5:1, but text in this element has a contrast ratio of 2.11:1. Recommendation: change background to #047cbe.error
Tested:
- https://blog.mathiaskunto.com/
Integrity
2.72
Results collected at 2026-09-23
- Rather poor on user privacy.
Security section:
- HTTPS by default is good! 5.00
- HTTP Strict Transport Security HSTS is ok, with 1 error(s) and 1 warning(s). 4.25
- Content Security Policy is pretty bad. 1.00
- Reporting CSP Certificate Transparency Network Error Logging is not that good. 2.50
- Referrer Policy is not that good. 2.50
- Subresource Integrity SRI is pretty bad. 1.00
- HTTP headers is ok, with 1 error(s) and 0 warning(s). 4.50
- Cookies is ok, with 8 error(s) and 0 warning(s). 1.00
Security section:
- HTTPS by default is good! 5.00
- HTTP Strict Transport Security HSTS is ok, with 1 error(s) and 1 warning(s). 4.25
- Content Security Policy is pretty bad. 1.00
- Reporting CSP Certificate Transparency Network Error Logging is not that good. 2.50
- Referrer Policy is not that good. 2.50
- Subresource Integrity SRI is pretty bad. 1.00
- HTTP headers is ok, with 1 error(s) and 0 warning(s). 4.50
- Cookies is ok, with 8 error(s) and 0 warning(s). 1.00
Carbon Calculator
4.40
Results collected at 2026-09-23
- Webpage generates little carbon dioxide!
- Carbon dioxide per pageview: 1.04 gram(s)
- More green than 88 % of the websites tested by webperf.se (Reference updated: 2026-06-07).
- Network transfer size: 1.65 MB 4.40
- Carbon dioxide per pageview: 1.04 gram(s)
- More green than 88 % of the websites tested by webperf.se (Reference updated: 2026-06-07).
- Network transfer size: 1.65 MB 4.40
Software
4.98
Results collected at 2026-09-23
- CMS used: wordpress
- Web server used: tomcat
- Technology used: js, php
- License(s) used: apache-2.0, mit
- Metadata used: apple-touch-icon, dns-prefetch, icon, viewport
- Javascript libraries used: jquery, jquery-migrate, jquery-ui
- Languages found: en-us
- Image formats used: jpeg, jpg
- WordPress theme: twentytwentytwo
Accessibility section:
##### You don't seem to be using accessibility overlay software 5.00
Security section:
##### Software is behind >=1 versions 4.9
###### Introduction:
Software used is behind 1 or more version compared to latests.
This is a small indicator that you need to update to latest version.
You can fix this by updating software to latest version.
###### Detected software(s):
- jquery 3.7.1
- jquery-migrate 3.4.1
###### Affected resource(s):
- https://blog.mathiaskunto.com/wp-includes/js/jquery/jquery.min.js?ver=3.7.1
- https://blog.mathiaskunto.com/wp-includes/js/jquery/jquery-migrate.min.js?ver=3.4.1
##### NO Common Vulnerabilities and Exposures found 5.00
##### Opensource software used seem to be maintained 5.00
##### You don't seem to be using 'END OF LIFE' software 5.00
- Web server used: tomcat
- Technology used: js, php
- License(s) used: apache-2.0, mit
- Metadata used: apple-touch-icon, dns-prefetch, icon, viewport
- Javascript libraries used: jquery, jquery-migrate, jquery-ui
- Languages found: en-us
- Image formats used: jpeg, jpg
- WordPress theme: twentytwentytwo
Accessibility section:
##### You don't seem to be using accessibility overlay software 5.00
Security section:
##### Software is behind >=1 versions 4.9
###### Introduction:
Software used is behind 1 or more version compared to latests.
This is a small indicator that you need to update to latest version.
You can fix this by updating software to latest version.
###### Detected software(s):
- jquery 3.7.1
- jquery-migrate 3.4.1
###### Affected resource(s):
- https://blog.mathiaskunto.com/wp-includes/js/jquery/jquery.min.js?ver=3.7.1
- https://blog.mathiaskunto.com/wp-includes/js/jquery/jquery-migrate.min.js?ver=3.4.1
##### NO Common Vulnerabilities and Exposures found 5.00
##### Opensource software used seem to be maintained 5.00
##### You don't seem to be using 'END OF LIFE' software 5.00
Stylelint CSS
3.85
Results collected at 2026-09-23
Standards section:
- CSS, Disallow unknown functionserror
More info:
- https://stylelint.io/user-guide/rules/function-no-unknown
Tested:
- https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.1/themes/base/jquery-ui.css?ver=7.1.2
- CSS, Disallow unknown values for properties within declarationserror
More info:
- https://stylelint.io/user-guide/rules/declaration-property-value-no-unknown
Tested:
- https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.1/themes/base/jquery-ui.css?ver=7.1.2
- CSS, Disallow unknown custom propertieswarning
More info:
- https://stylelint.io/user-guide/rules/no-unknown-custom-properties
Tested:
- https://blog.mathiaskunto.com/
- CSS, Disallow deprecated keywords for properties within declarationswarning
More info:
- https://stylelint.io/user-guide/rules/declaration-property-value-keyword-no-deprecated
Tested:
- https://blog.mathiaskunto.com/
- CSS, Disallow deprecated propertieswarning
More info:
- https://stylelint.io/user-guide/rules/property-no-deprecated
Tested:
- https://blog.mathiaskunto.com/
- CSS, Disallow unknown annotationsok
More info:
- https://stylelint.io/user-guide/rules/annotation-no-unknown
- CSS, Disallow unknown descriptors for at-rulesok
More info:
- https://stylelint.io/user-guide/rules/at-rule-descriptor-no-unknown
- CSS, Disallow unknown values for descriptors within at-rulesok
More info:
- https://stylelint.io/user-guide/rules/at-rule-descriptor-value-no-unknown
- CSS, Disallow deprecated at-rulesok
More info:
- https://stylelint.io/user-guide/rules/at-rule-no-deprecated
- CSS, Disallow unknown at-rulesok
More info:
- https://stylelint.io/user-guide/rules/at-rule-no-unknown
- CSS, Disallow invalid preludes for at-rulesok
More info:
- https://stylelint.io/user-guide/rules/at-rule-prelude-no-invalid
- CSS, Disallow empty blocksok
More info:
- https://stylelint.io/user-guide/rules/block-no-empty
- CSS, Disallow invalid hex colorsok
More info:
- https://stylelint.io/user-guide/rules/color-no-invalid-hex
- CSS, Disallow empty commentsok
More info:
- https://stylelint.io/user-guide/rules/comment-no-empty
- CSS, Disallow non-standard direction values for linear gradient functionsok
More info:
- https://stylelint.io/user-guide/rules/function-linear-gradient-no-nonstandard-direction
- CSS, Disallow unknown media feature namesok
More info:
- https://stylelint.io/user-guide/rules/media-feature-name-no-unknown
- CSS, Disallow unknown values for media featuresok
More info:
- https://stylelint.io/user-guide/rules/media-feature-name-value-no-unknown
- CSS, Disallow invalid media queriesok
More info:
- https://stylelint.io/user-guide/rules/media-query-no-invalid
- CSS, Disallow deprecated media typesok
More info:
- https://stylelint.io/user-guide/rules/media-type-no-deprecated
- CSS, Disallow invalid named grid areasok
More info:
- https://stylelint.io/user-guide/rules/named-grid-areas-no-invalid
- CSS, Disallow empty sourcesok
More info:
- https://stylelint.io/user-guide/rules/no-empty-source
- CSS, Disallow invalid double-slash commentsok
More info:
- https://stylelint.io/user-guide/rules/no-invalid-double-slash-comments
- CSS, Disallow invalid position `@import` rulesok
More info:
- https://stylelint.io/user-guide/rules/no-invalid-position-at-import-rule
- CSS, Disallow invalid position declarationsok
More info:
- https://stylelint.io/user-guide/rules/no-invalid-position-declaration
- CSS, Disallow unknown animationsok
More info:
- https://stylelint.io/user-guide/rules/no-unknown-animations
- CSS, Disallow unknown custom media queriesok
More info:
- https://stylelint.io/user-guide/rules/no-unknown-custom-media
- CSS, Disallow unknown propertiesok
More info:
- https://stylelint.io/user-guide/rules/property-no-unknown
- selector-no-deprecatedok
More info:
- https://stylelint.io/user-guide/rules/selector-no-deprecated
- selector-no-invalidok
More info:
- https://stylelint.io/user-guide/rules/selector-no-invalid
- CSS, Disallow unknown pseudo-class selectorsok
More info:
- https://stylelint.io/user-guide/rules/selector-pseudo-class-no-unknown
- CSS, Disallow unknown pseudo-element selectorsok
More info:
- https://stylelint.io/user-guide/rules/selector-pseudo-element-no-unknown
- CSS, Disallow unknown type selectorsok
More info:
- https://stylelint.io/user-guide/rules/selector-type-no-unknown
- CSS, Disallow invalid syntax stringsok
More info:
- https://stylelint.io/user-guide/rules/syntax-string-no-invalid
- CSS, Disallow unknown unitsok
More info:
- https://stylelint.io/user-guide/rules/unit-no-unknown
- CSS, Disallow unknown functionserror
More info:
- https://stylelint.io/user-guide/rules/function-no-unknown
Tested:
- https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.1/themes/base/jquery-ui.css?ver=7.1.2
- CSS, Disallow unknown values for properties within declarationserror
More info:
- https://stylelint.io/user-guide/rules/declaration-property-value-no-unknown
Tested:
- https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.1/themes/base/jquery-ui.css?ver=7.1.2
- CSS, Disallow unknown custom propertieswarning
More info:
- https://stylelint.io/user-guide/rules/no-unknown-custom-properties
Tested:
- https://blog.mathiaskunto.com/
- CSS, Disallow deprecated keywords for properties within declarationswarning
More info:
- https://stylelint.io/user-guide/rules/declaration-property-value-keyword-no-deprecated
Tested:
- https://blog.mathiaskunto.com/
- CSS, Disallow deprecated propertieswarning
More info:
- https://stylelint.io/user-guide/rules/property-no-deprecated
Tested:
- https://blog.mathiaskunto.com/
- CSS, Disallow unknown annotationsok
More info:
- https://stylelint.io/user-guide/rules/annotation-no-unknown
- CSS, Disallow unknown descriptors for at-rulesok
More info:
- https://stylelint.io/user-guide/rules/at-rule-descriptor-no-unknown
- CSS, Disallow unknown values for descriptors within at-rulesok
More info:
- https://stylelint.io/user-guide/rules/at-rule-descriptor-value-no-unknown
- CSS, Disallow deprecated at-rulesok
More info:
- https://stylelint.io/user-guide/rules/at-rule-no-deprecated
- CSS, Disallow unknown at-rulesok
More info:
- https://stylelint.io/user-guide/rules/at-rule-no-unknown
- CSS, Disallow invalid preludes for at-rulesok
More info:
- https://stylelint.io/user-guide/rules/at-rule-prelude-no-invalid
- CSS, Disallow empty blocksok
More info:
- https://stylelint.io/user-guide/rules/block-no-empty
- CSS, Disallow invalid hex colorsok
More info:
- https://stylelint.io/user-guide/rules/color-no-invalid-hex
- CSS, Disallow empty commentsok
More info:
- https://stylelint.io/user-guide/rules/comment-no-empty
- CSS, Disallow non-standard direction values for linear gradient functionsok
More info:
- https://stylelint.io/user-guide/rules/function-linear-gradient-no-nonstandard-direction
- CSS, Disallow unknown media feature namesok
More info:
- https://stylelint.io/user-guide/rules/media-feature-name-no-unknown
- CSS, Disallow unknown values for media featuresok
More info:
- https://stylelint.io/user-guide/rules/media-feature-name-value-no-unknown
- CSS, Disallow invalid media queriesok
More info:
- https://stylelint.io/user-guide/rules/media-query-no-invalid
- CSS, Disallow deprecated media typesok
More info:
- https://stylelint.io/user-guide/rules/media-type-no-deprecated
- CSS, Disallow invalid named grid areasok
More info:
- https://stylelint.io/user-guide/rules/named-grid-areas-no-invalid
- CSS, Disallow empty sourcesok
More info:
- https://stylelint.io/user-guide/rules/no-empty-source
- CSS, Disallow invalid double-slash commentsok
More info:
- https://stylelint.io/user-guide/rules/no-invalid-double-slash-comments
- CSS, Disallow invalid position `@import` rulesok
More info:
- https://stylelint.io/user-guide/rules/no-invalid-position-at-import-rule
- CSS, Disallow invalid position declarationsok
More info:
- https://stylelint.io/user-guide/rules/no-invalid-position-declaration
- CSS, Disallow unknown animationsok
More info:
- https://stylelint.io/user-guide/rules/no-unknown-animations
- CSS, Disallow unknown custom media queriesok
More info:
- https://stylelint.io/user-guide/rules/no-unknown-custom-media
- CSS, Disallow unknown propertiesok
More info:
- https://stylelint.io/user-guide/rules/property-no-unknown
- selector-no-deprecatedok
More info:
- https://stylelint.io/user-guide/rules/selector-no-deprecated
- selector-no-invalidok
More info:
- https://stylelint.io/user-guide/rules/selector-no-invalid
- CSS, Disallow unknown pseudo-class selectorsok
More info:
- https://stylelint.io/user-guide/rules/selector-pseudo-class-no-unknown
- CSS, Disallow unknown pseudo-element selectorsok
More info:
- https://stylelint.io/user-guide/rules/selector-pseudo-element-no-unknown
- CSS, Disallow unknown type selectorsok
More info:
- https://stylelint.io/user-guide/rules/selector-type-no-unknown
- CSS, Disallow invalid syntax stringsok
More info:
- https://stylelint.io/user-guide/rules/syntax-string-no-invalid
- CSS, Disallow unknown unitsok
More info:
- https://stylelint.io/user-guide/rules/unit-no-unknown
HTML-validate
4.45
Results collected at 2026-09-23
Standards section:
- Require `id` to be a valid identifiererror
More info:
- https://html-validate.org/rules/valid-id.html
Tested:
- https://blog.mathiaskunto.com/
- Validate permitted contentwarning
More info:
- https://html-validate.org/rules/element-permitted-content.html
Tested:
- https://blog.mathiaskunto.com/
- Require attributes to be separated by whitespaceok
More info:
- https://html-validate.org/rules/attr-spacing.html
- Validate permitted attribute valuesok
More info:
- https://html-validate.org/rules/attribute-allowed-values.html
- Require attribute to be used in correct contextok
More info:
- https://html-validate.org/rules/attribute-misuse.html
- Disallow end tags from having attributesok
More info:
- https://html-validate.org/rules/close-attr.html
- Require elements to be closed in correct orderok
More info:
- https://html-validate.org/rules/close-order.html
- Disallow usage of deprecated elementsok
More info:
- https://html-validate.org/rules/deprecated.html
- Disallow usage of deprecated rulesok
More info:
- https://html-validate.org/rules/deprecated-rule.html
- Require usage of `html` doctypeok
More info:
- https://html-validate.org/rules/doctype-html.html
- Disallow invalid element namesok
More info:
- https://html-validate.org/rules/element-name.html
- Validate permitted number of element occurrencesok
More info:
- https://html-validate.org/rules/element-permitted-occurrences.html
- Validate required element orderok
More info:
- https://html-validate.org/rules/element-permitted-order.html
- Validate permitted element parentok
More info:
- https://html-validate.org/rules/element-permitted-parent.html
- Ensure required attributes are setok
More info:
- https://html-validate.org/rules/element-required-attributes.html
- Ensure required elements are presentok
More info:
- https://html-validate.org/rules/element-required-content.html
- Require `<map name>` to be uniqueok
More info:
- https://html-validate.org/rules/map-dup-name.html
- Require name and id to match on `<map>` elementsok
More info:
- https://html-validate.org/rules/map-id-name.html
- Disallow usage of deprecated attributesok
More info:
- https://html-validate.org/rules/no-deprecated-attr.html
- Disallow duplicated attributesok
More info:
- https://html-validate.org/rules/no-dup-attr.html
- Disallow duplicated IDsok
More info:
- https://html-validate.org/rules/no-dup-id.html
- Disallow multiple `<main>`ok
More info:
- https://html-validate.org/rules/no-multiple-main.html
- Disallow the use of unescaped special charactersok
More info:
- https://html-validate.org/rules/no-raw-characters.html
- Disallow unused disable directivesok
More info:
- https://html-validate.org/rules/no-unused-disable.html
- Require end tag for `<script>`ok
More info:
- https://html-validate.org/rules/script-element.html
- Disallow unrecognized character referencesok
More info:
- https://html-validate.org/rules/unrecognized-char-ref.html
- Require autocomplete attribute to be validok
More info:
- https://html-validate.org/rules/valid-autocomplete.html
- Disallow void element with contentok
More info:
- https://html-validate.org/rules/void-content.html
- Require `id` to be a valid identifiererror
More info:
- https://html-validate.org/rules/valid-id.html
Tested:
- https://blog.mathiaskunto.com/
- Validate permitted contentwarning
More info:
- https://html-validate.org/rules/element-permitted-content.html
Tested:
- https://blog.mathiaskunto.com/
- Require attributes to be separated by whitespaceok
More info:
- https://html-validate.org/rules/attr-spacing.html
- Validate permitted attribute valuesok
More info:
- https://html-validate.org/rules/attribute-allowed-values.html
- Require attribute to be used in correct contextok
More info:
- https://html-validate.org/rules/attribute-misuse.html
- Disallow end tags from having attributesok
More info:
- https://html-validate.org/rules/close-attr.html
- Require elements to be closed in correct orderok
More info:
- https://html-validate.org/rules/close-order.html
- Disallow usage of deprecated elementsok
More info:
- https://html-validate.org/rules/deprecated.html
- Disallow usage of deprecated rulesok
More info:
- https://html-validate.org/rules/deprecated-rule.html
- Require usage of `html` doctypeok
More info:
- https://html-validate.org/rules/doctype-html.html
- Disallow invalid element namesok
More info:
- https://html-validate.org/rules/element-name.html
- Validate permitted number of element occurrencesok
More info:
- https://html-validate.org/rules/element-permitted-occurrences.html
- Validate required element orderok
More info:
- https://html-validate.org/rules/element-permitted-order.html
- Validate permitted element parentok
More info:
- https://html-validate.org/rules/element-permitted-parent.html
- Ensure required attributes are setok
More info:
- https://html-validate.org/rules/element-required-attributes.html
- Ensure required elements are presentok
More info:
- https://html-validate.org/rules/element-required-content.html
- Require `<map name>` to be uniqueok
More info:
- https://html-validate.org/rules/map-dup-name.html
- Require name and id to match on `<map>` elementsok
More info:
- https://html-validate.org/rules/map-id-name.html
- Disallow usage of deprecated attributesok
More info:
- https://html-validate.org/rules/no-deprecated-attr.html
- Disallow duplicated attributesok
More info:
- https://html-validate.org/rules/no-dup-attr.html
- Disallow duplicated IDsok
More info:
- https://html-validate.org/rules/no-dup-id.html
- Disallow multiple `<main>`ok
More info:
- https://html-validate.org/rules/no-multiple-main.html
- Disallow the use of unescaped special charactersok
More info:
- https://html-validate.org/rules/no-raw-characters.html
- Disallow unused disable directivesok
More info:
- https://html-validate.org/rules/no-unused-disable.html
- Require end tag for `<script>`ok
More info:
- https://html-validate.org/rules/script-element.html
- Disallow unrecognized character referencesok
More info:
- https://html-validate.org/rules/unrecognized-char-ref.html
- Require autocomplete attribute to be validok
More info:
- https://html-validate.org/rules/valid-autocomplete.html
- Disallow void element with contentok
More info:
- https://html-validate.org/rules/void-content.html
ESLint JS
4.75
Results collected at 2026-09-23
Security section:
- Javascript, disallow javascript: URLserror
More info:
- https://eslint.org/docs/latest/rules/no-script-url
Tested:
- https://www.googletagmanager.com/gtag/js?id=G-HDREH87L2M
- Javascript, disallow the use of eval()ok
More info:
- https://eslint.org/docs/latest/rules/no-eval
- Javascript, disallow the use of eval()-like methodsok
More info:
- https://eslint.org/docs/latest/rules/no-implied-eval
Standards section:
- no-debuggerok
More info:
- https://eslint.org/docs/latest/rules/no-debugger
- Javascript, disallow javascript: URLserror
More info:
- https://eslint.org/docs/latest/rules/no-script-url
Tested:
- https://www.googletagmanager.com/gtag/js?id=G-HDREH87L2M
- Javascript, disallow the use of eval()ok
More info:
- https://eslint.org/docs/latest/rules/no-eval
- Javascript, disallow the use of eval()-like methodsok
More info:
- https://eslint.org/docs/latest/rules/no-implied-eval
Standards section:
- no-debuggerok
More info:
- https://eslint.org/docs/latest/rules/no-debugger
Lighthouse
3.59
Results collected at 2026-09-23
- Performance only 2.35
- Accessibility only 4.00
- third-party-cookieserror
Tested:
- https://blog.mathiaskunto.com/
- The browser reports problems on the pageerror
Tested:
- https://blog.mathiaskunto.com/
- meta-descriptionerror
Tested:
- https://blog.mathiaskunto.com/
- link-texterror
Tested:
- https://blog.mathiaskunto.com/
- The page uses a secure connection (HTTPS)ok
Tested:
- https://blog.mathiaskunto.com/
- geolocation-on-startok
Tested:
- https://blog.mathiaskunto.com/
- notification-on-startok
Tested:
- https://blog.mathiaskunto.com/
- csp-xssok
Tested:
- https://blog.mathiaskunto.com/
- has-hstsok
Tested:
- https://blog.mathiaskunto.com/
- origin-isolationok
Tested:
- https://blog.mathiaskunto.com/
- clickjacking-mitigationok
Tested:
- https://blog.mathiaskunto.com/
- trusted-types-xssok
Tested:
- https://blog.mathiaskunto.com/
- paste-preventing-inputsok
Tested:
- https://blog.mathiaskunto.com/
- image-aspect-ratiook
Tested:
- https://blog.mathiaskunto.com/
- Images look sharp at the right resolutionok
Tested:
- https://blog.mathiaskunto.com/
- doctypeok
Tested:
- https://blog.mathiaskunto.com/
- charsetok
Tested:
- https://blog.mathiaskunto.com/
- js-librariesok
Tested:
- https://blog.mathiaskunto.com/
- deprecationsok
Tested:
- https://blog.mathiaskunto.com/
- errors-in-consoleok
Tested:
- https://blog.mathiaskunto.com/
- valid-source-mapsok
Tested:
- https://blog.mathiaskunto.com/
- is-crawlableok
Tested:
- https://blog.mathiaskunto.com/
- The page has a titleok
Tested:
- https://blog.mathiaskunto.com/
- http-status-codeok
Tested:
- https://blog.mathiaskunto.com/
- crawlable-anchorsok
Tested:
- https://blog.mathiaskunto.com/
- robots-txtok
Tested:
- https://blog.mathiaskunto.com/
- hreflangok
Tested:
- https://blog.mathiaskunto.com/
- Insecure traffic (HTTP) is forwarded to secure (HTTPS)ok
- Images have alternative text for screen readersok
- canonicalok
- structured-dataok
Accessibility section:
- aria-dialog-nameerror
Tested:
- https://blog.mathiaskunto.com/
- Text has too little contrast against the background and is hard to readerror
Tested:
- https://blog.mathiaskunto.com/
- Accessibility markup (ARIA) fits the elements it's onok
Tested:
- https://blog.mathiaskunto.com/
- Accessibility markup (ARIA) is used according to the rulesok
Tested:
- https://blog.mathiaskunto.com/
- No outdated accessibility roles (ARIA) are usedok
Tested:
- https://blog.mathiaskunto.com/
- The page is not hidden from screen readersok
Tested:
- https://blog.mathiaskunto.com/
- Hidden elements can't be reached with the keyboardok
Tested:
- https://blog.mathiaskunto.com/
- Elements only have allowed accessibility markup (ARIA)ok
Tested:
- https://blog.mathiaskunto.com/
- Elements have the required accessibility markup (ARIA)ok
Tested:
- https://blog.mathiaskunto.com/
- Accessibility roles (ARIA) have valid valuesok
Tested:
- https://blog.mathiaskunto.com/
- Accessibility markup (ARIA) has valid valuesok
Tested:
- https://blog.mathiaskunto.com/
- Accessibility markup (ARIA) is correctly spelled and validok
Tested:
- https://blog.mathiaskunto.com/
- Buttons have a name a screen reader can read outok
Tested:
- https://blog.mathiaskunto.com/
- The page has a titleok
Tested:
- https://blog.mathiaskunto.com/
- The headings are in the right orderok
Tested:
- https://blog.mathiaskunto.com/
- The page states which language it's written inok
Tested:
- https://blog.mathiaskunto.com/
- The page's language setting is validok
Tested:
- https://blog.mathiaskunto.com/
- Links can be told apart even without colorok
Tested:
- https://blog.mathiaskunto.com/
- Links have text describing where they gook
Tested:
- https://blog.mathiaskunto.com/
- Lists contain only list itemsok
Tested:
- https://blog.mathiaskunto.com/
- List items sit inside a real listok
Tested:
- https://blog.mathiaskunto.com/
- Visitors can zoom on the pageok
Tested:
- https://blog.mathiaskunto.com/
- skip-linkok
Tested:
- https://blog.mathiaskunto.com/
- tabindexok
Tested:
- https://blog.mathiaskunto.com/
- Tap targets are big enough and spaced apartok
Tested:
- https://blog.mathiaskunto.com/
- landmark-one-mainok
Tested:
- https://blog.mathiaskunto.com/
- identical-links-same-purposeok
Tested:
- https://blog.mathiaskunto.com/
- accesskeysok
- aria-command-nameok
- aria-input-field-nameok
- aria-meter-nameok
- aria-progressbar-nameok
- Elements have the child elements accessibility tools requireok
- Elements are inside the parent element accessibility tools requireok
- aria-textok
- aria-toggle-field-nameok
- aria-tooltip-nameok
- aria-treeitem-nameok
- bypassok
- definition-listok
- dlitemok
- duplicate-id-ariaok
- form-field-multiple-labelsok
- frame-titleok
- html-xml-lang-mismatchok
- Images have alternative text for screen readersok
- input-button-nameok
- input-image-altok
- labelok
- meta-refreshok
- object-altok
- select-nameok
- td-headers-attrok
- th-has-data-cellsok
- valid-langok
- video-captionok
- focusable-controlsok
- interactive-element-affordanceok
- logical-tab-orderok
- visual-order-follows-domok
- focus-trapsok
- managed-focusok
- use-landmarksok
- offscreen-content-hiddenok
- custom-controls-labelsok
- custom-controls-rolesok
- table-duplicate-nameok
- empty-headingok
- Accessibility roles (ARIA) are used only on elements that support themok
- Images' alternative text doesn't repeat text that's already next to themok
- label-content-name-mismatchok
- table-fake-captionok
- td-has-headerok
Performance section:
- cache-insighterror
Tested:
- https://blog.mathiaskunto.com/
- Text can become invisible while fonts loaderror
Tested:
- https://blog.mathiaskunto.com/
- Files load in a chain that slows the page downerror
Tested:
- https://blog.mathiaskunto.com/
- Some files hold things up when the page is about to showerror
Tested:
- https://blog.mathiaskunto.com/
- Remove program code (JavaScript) that isn't used so the page loads fastererror
Tested:
- https://blog.mathiaskunto.com/
- It takes a long time before anything appears on the pagewarning
Tested:
- https://blog.mathiaskunto.com/
- Old-style program code is sent to modern browserswarning
Tested:
- https://blog.mathiaskunto.com/
- Remove design code (CSS) that isn't used so the page loads fasterwarning
Tested:
- https://blog.mathiaskunto.com/
- The page's main content appears quicklyok
Tested:
- https://blog.mathiaskunto.com/
- The page responds quickly to clicksok
Tested:
- https://blog.mathiaskunto.com/
- Content stays still while the page loadsok
Tested:
- https://blog.mathiaskunto.com/
- The page looks finished loading quicklyok
Tested:
- https://blog.mathiaskunto.com/
- Nothing makes the content jump aroundok
Tested:
- https://blog.mathiaskunto.com/
- The page itself is fetched quicklyok
Tested:
- https://blog.mathiaskunto.com/
- The page is reasonably complexok
Tested:
- https://blog.mathiaskunto.com/
- Program code (JavaScript) isn't loaded twiceok
Tested:
- https://blog.mathiaskunto.com/
- forced-reflow-insightok
Tested:
- https://blog.mathiaskunto.com/
- The images are delivered efficientlyok
Tested:
- https://blog.mathiaskunto.com/
- lcp-breakdown-insightok
Tested:
- https://blog.mathiaskunto.com/
- Code from other sites doesn't affect performance muchok
Tested:
- https://blog.mathiaskunto.com/
- The page displays well on mobileok
Tested:
- https://blog.mathiaskunto.com/
- The page can be used quicklyok
Tested:
- https://blog.mathiaskunto.com/
- The page responds quickly to the visitor's first clickok
Tested:
- https://blog.mathiaskunto.com/
- The design code (CSS) is compressedok
Tested:
- https://blog.mathiaskunto.com/
- The program code (JavaScript) is compressedok
Tested:
- https://blog.mathiaskunto.com/
- The page loads a reasonable amount of dataok
Tested:
- https://blog.mathiaskunto.com/
- The program code (JavaScript) runs quicklyok
Tested:
- https://blog.mathiaskunto.com/
- The browser doesn't have to work too hard on the pageok
Tested:
- https://blog.mathiaskunto.com/
- non-composited-animationsok
Tested:
- https://blog.mathiaskunto.com/
- Images have a set size so the page doesn't jumpok
Tested:
- https://blog.mathiaskunto.com/
- Everything the page fetches from the networkok
Tested:
- https://blog.mathiaskunto.com/
- How long data takes to travel back and forth on the networkok
Tested:
- https://blog.mathiaskunto.com/
- Delay in the server before it respondsok
Tested:
- https://blog.mathiaskunto.com/
- Tasks the browser performs for the pageok
Tested:
- https://blog.mathiaskunto.com/
- Technical information about the pageok
Tested:
- https://blog.mathiaskunto.com/
- Measurements of the page's performanceok
Tested:
- https://blog.mathiaskunto.com/
- Small images of how the page loadsok
Tested:
- https://blog.mathiaskunto.com/
- Image of the page once it finished loadingok
Tested:
- https://blog.mathiaskunto.com/
- Overview of the page's program codeok
Tested:
- https://blog.mathiaskunto.com/
- Summary of what the page fetchesok
Tested:
- https://blog.mathiaskunto.com/
- Visitors aren't sent on unnecessarilyok
Tested:
- https://blog.mathiaskunto.com/
- The server responds quicklyok
Tested:
- https://blog.mathiaskunto.com/
- Content doesn't move suddenlyok
Tested:
- https://blog.mathiaskunto.com/
- inp-breakdown-insightok
- The browser finds the main image quicklyok
- user-timingsok
- No tasks lock up the page for longok
- Accessibility only 4.00
- third-party-cookieserror
Tested:
- https://blog.mathiaskunto.com/
- The browser reports problems on the pageerror
Tested:
- https://blog.mathiaskunto.com/
- meta-descriptionerror
Tested:
- https://blog.mathiaskunto.com/
- link-texterror
Tested:
- https://blog.mathiaskunto.com/
- The page uses a secure connection (HTTPS)ok
Tested:
- https://blog.mathiaskunto.com/
- geolocation-on-startok
Tested:
- https://blog.mathiaskunto.com/
- notification-on-startok
Tested:
- https://blog.mathiaskunto.com/
- csp-xssok
Tested:
- https://blog.mathiaskunto.com/
- has-hstsok
Tested:
- https://blog.mathiaskunto.com/
- origin-isolationok
Tested:
- https://blog.mathiaskunto.com/
- clickjacking-mitigationok
Tested:
- https://blog.mathiaskunto.com/
- trusted-types-xssok
Tested:
- https://blog.mathiaskunto.com/
- paste-preventing-inputsok
Tested:
- https://blog.mathiaskunto.com/
- image-aspect-ratiook
Tested:
- https://blog.mathiaskunto.com/
- Images look sharp at the right resolutionok
Tested:
- https://blog.mathiaskunto.com/
- doctypeok
Tested:
- https://blog.mathiaskunto.com/
- charsetok
Tested:
- https://blog.mathiaskunto.com/
- js-librariesok
Tested:
- https://blog.mathiaskunto.com/
- deprecationsok
Tested:
- https://blog.mathiaskunto.com/
- errors-in-consoleok
Tested:
- https://blog.mathiaskunto.com/
- valid-source-mapsok
Tested:
- https://blog.mathiaskunto.com/
- is-crawlableok
Tested:
- https://blog.mathiaskunto.com/
- The page has a titleok
Tested:
- https://blog.mathiaskunto.com/
- http-status-codeok
Tested:
- https://blog.mathiaskunto.com/
- crawlable-anchorsok
Tested:
- https://blog.mathiaskunto.com/
- robots-txtok
Tested:
- https://blog.mathiaskunto.com/
- hreflangok
Tested:
- https://blog.mathiaskunto.com/
- Insecure traffic (HTTP) is forwarded to secure (HTTPS)ok
- Images have alternative text for screen readersok
- canonicalok
- structured-dataok
Accessibility section:
- aria-dialog-nameerror
Tested:
- https://blog.mathiaskunto.com/
- Text has too little contrast against the background and is hard to readerror
Tested:
- https://blog.mathiaskunto.com/
- Accessibility markup (ARIA) fits the elements it's onok
Tested:
- https://blog.mathiaskunto.com/
- Accessibility markup (ARIA) is used according to the rulesok
Tested:
- https://blog.mathiaskunto.com/
- No outdated accessibility roles (ARIA) are usedok
Tested:
- https://blog.mathiaskunto.com/
- The page is not hidden from screen readersok
Tested:
- https://blog.mathiaskunto.com/
- Hidden elements can't be reached with the keyboardok
Tested:
- https://blog.mathiaskunto.com/
- Elements only have allowed accessibility markup (ARIA)ok
Tested:
- https://blog.mathiaskunto.com/
- Elements have the required accessibility markup (ARIA)ok
Tested:
- https://blog.mathiaskunto.com/
- Accessibility roles (ARIA) have valid valuesok
Tested:
- https://blog.mathiaskunto.com/
- Accessibility markup (ARIA) has valid valuesok
Tested:
- https://blog.mathiaskunto.com/
- Accessibility markup (ARIA) is correctly spelled and validok
Tested:
- https://blog.mathiaskunto.com/
- Buttons have a name a screen reader can read outok
Tested:
- https://blog.mathiaskunto.com/
- The page has a titleok
Tested:
- https://blog.mathiaskunto.com/
- The headings are in the right orderok
Tested:
- https://blog.mathiaskunto.com/
- The page states which language it's written inok
Tested:
- https://blog.mathiaskunto.com/
- The page's language setting is validok
Tested:
- https://blog.mathiaskunto.com/
- Links can be told apart even without colorok
Tested:
- https://blog.mathiaskunto.com/
- Links have text describing where they gook
Tested:
- https://blog.mathiaskunto.com/
- Lists contain only list itemsok
Tested:
- https://blog.mathiaskunto.com/
- List items sit inside a real listok
Tested:
- https://blog.mathiaskunto.com/
- Visitors can zoom on the pageok
Tested:
- https://blog.mathiaskunto.com/
- skip-linkok
Tested:
- https://blog.mathiaskunto.com/
- tabindexok
Tested:
- https://blog.mathiaskunto.com/
- Tap targets are big enough and spaced apartok
Tested:
- https://blog.mathiaskunto.com/
- landmark-one-mainok
Tested:
- https://blog.mathiaskunto.com/
- identical-links-same-purposeok
Tested:
- https://blog.mathiaskunto.com/
- accesskeysok
- aria-command-nameok
- aria-input-field-nameok
- aria-meter-nameok
- aria-progressbar-nameok
- Elements have the child elements accessibility tools requireok
- Elements are inside the parent element accessibility tools requireok
- aria-textok
- aria-toggle-field-nameok
- aria-tooltip-nameok
- aria-treeitem-nameok
- bypassok
- definition-listok
- dlitemok
- duplicate-id-ariaok
- form-field-multiple-labelsok
- frame-titleok
- html-xml-lang-mismatchok
- Images have alternative text for screen readersok
- input-button-nameok
- input-image-altok
- labelok
- meta-refreshok
- object-altok
- select-nameok
- td-headers-attrok
- th-has-data-cellsok
- valid-langok
- video-captionok
- focusable-controlsok
- interactive-element-affordanceok
- logical-tab-orderok
- visual-order-follows-domok
- focus-trapsok
- managed-focusok
- use-landmarksok
- offscreen-content-hiddenok
- custom-controls-labelsok
- custom-controls-rolesok
- table-duplicate-nameok
- empty-headingok
- Accessibility roles (ARIA) are used only on elements that support themok
- Images' alternative text doesn't repeat text that's already next to themok
- label-content-name-mismatchok
- table-fake-captionok
- td-has-headerok
Performance section:
- cache-insighterror
Tested:
- https://blog.mathiaskunto.com/
- Text can become invisible while fonts loaderror
Tested:
- https://blog.mathiaskunto.com/
- Files load in a chain that slows the page downerror
Tested:
- https://blog.mathiaskunto.com/
- Some files hold things up when the page is about to showerror
Tested:
- https://blog.mathiaskunto.com/
- Remove program code (JavaScript) that isn't used so the page loads fastererror
Tested:
- https://blog.mathiaskunto.com/
- It takes a long time before anything appears on the pagewarning
Tested:
- https://blog.mathiaskunto.com/
- Old-style program code is sent to modern browserswarning
Tested:
- https://blog.mathiaskunto.com/
- Remove design code (CSS) that isn't used so the page loads fasterwarning
Tested:
- https://blog.mathiaskunto.com/
- The page's main content appears quicklyok
Tested:
- https://blog.mathiaskunto.com/
- The page responds quickly to clicksok
Tested:
- https://blog.mathiaskunto.com/
- Content stays still while the page loadsok
Tested:
- https://blog.mathiaskunto.com/
- The page looks finished loading quicklyok
Tested:
- https://blog.mathiaskunto.com/
- Nothing makes the content jump aroundok
Tested:
- https://blog.mathiaskunto.com/
- The page itself is fetched quicklyok
Tested:
- https://blog.mathiaskunto.com/
- The page is reasonably complexok
Tested:
- https://blog.mathiaskunto.com/
- Program code (JavaScript) isn't loaded twiceok
Tested:
- https://blog.mathiaskunto.com/
- forced-reflow-insightok
Tested:
- https://blog.mathiaskunto.com/
- The images are delivered efficientlyok
Tested:
- https://blog.mathiaskunto.com/
- lcp-breakdown-insightok
Tested:
- https://blog.mathiaskunto.com/
- Code from other sites doesn't affect performance muchok
Tested:
- https://blog.mathiaskunto.com/
- The page displays well on mobileok
Tested:
- https://blog.mathiaskunto.com/
- The page can be used quicklyok
Tested:
- https://blog.mathiaskunto.com/
- The page responds quickly to the visitor's first clickok
Tested:
- https://blog.mathiaskunto.com/
- The design code (CSS) is compressedok
Tested:
- https://blog.mathiaskunto.com/
- The program code (JavaScript) is compressedok
Tested:
- https://blog.mathiaskunto.com/
- The page loads a reasonable amount of dataok
Tested:
- https://blog.mathiaskunto.com/
- The program code (JavaScript) runs quicklyok
Tested:
- https://blog.mathiaskunto.com/
- The browser doesn't have to work too hard on the pageok
Tested:
- https://blog.mathiaskunto.com/
- non-composited-animationsok
Tested:
- https://blog.mathiaskunto.com/
- Images have a set size so the page doesn't jumpok
Tested:
- https://blog.mathiaskunto.com/
- Everything the page fetches from the networkok
Tested:
- https://blog.mathiaskunto.com/
- How long data takes to travel back and forth on the networkok
Tested:
- https://blog.mathiaskunto.com/
- Delay in the server before it respondsok
Tested:
- https://blog.mathiaskunto.com/
- Tasks the browser performs for the pageok
Tested:
- https://blog.mathiaskunto.com/
- Technical information about the pageok
Tested:
- https://blog.mathiaskunto.com/
- Measurements of the page's performanceok
Tested:
- https://blog.mathiaskunto.com/
- Small images of how the page loadsok
Tested:
- https://blog.mathiaskunto.com/
- Image of the page once it finished loadingok
Tested:
- https://blog.mathiaskunto.com/
- Overview of the page's program codeok
Tested:
- https://blog.mathiaskunto.com/
- Summary of what the page fetchesok
Tested:
- https://blog.mathiaskunto.com/
- Visitors aren't sent on unnecessarilyok
Tested:
- https://blog.mathiaskunto.com/
- The server responds quicklyok
Tested:
- https://blog.mathiaskunto.com/
- Content doesn't move suddenlyok
Tested:
- https://blog.mathiaskunto.com/
- inp-breakdown-insightok
- The browser finds the main image quicklyok
- user-timingsok
- No tasks lock up the page for longok