Skip to content
https://lobste.rs

Lighthouse Mobile

· 0 checks — Mobile Lighthouse audit -- Performance, Accessibility, Best Practices, and SEO category breakdown.
SCORE
0
GRADE
FIX
0
REVIEW
0
PASS
0
INFO
0

Detailed Report

Audit breakdown by category with detailed findings.

98

Performance

Insights

Remove large, duplicate JavaScript modules from bundles to reduce unnecessary bytes consumed by network activity.

Why this matters

Performance issues directly impact user engagement and conversion rates.

Polyfills and transforms enable older browsers to use new JavaScript features. However, many aren't necessary for modern browsers. Consider modifying your JavaScript build process to not transpile Baseline features, unless you know you must support older browsers. Learn why most sites can deploy ES6+ code without transpiling

Why this matters

Performance issues directly impact user engagement and conversion rates.

3rd party code can significantly impact load performance. Reduce and defer loading of 3rd party code to prioritize your page's content.

Why this matters

Performance issues directly impact user engagement and conversion rates.

Requests are blocking the page's initial render, which may delay LCP. Deferring or inlining can move these network requests out of the critical path.

Why this matters

Performance issues directly impact user engagement and conversion rates.

These insights are also available in the Chrome DevTools Performance Panel - record a trace to view more detailed information.

Diagnostics

Minifying CSS files can reduce network payload sizes. Learn how to minify CSS.

Why this matters

Performance issues directly impact user engagement and conversion rates.

Estimated savings: 150 ms 2.5 KiB
URLTransfer SizeEst Savings
lobste.rs/assets/application-27162bd9.css11.3 KiB2.5 KiB

More information about the performance of your application. These numbers don't directly affect the Performance score.

●Max Potential First Input Delay 70 ms
●Layout shift culprits
●Document request latency
●Optimize DOM size
●Font display
●Forced reflow
●Improve image delivery
●LCP breakdown
●Modern HTTP
●Network dependency tree
●Optimize viewport for mobile
●Time to Interactive 1.1 s
●Minify JavaScript
●Reduce unused CSS
●Reduce unused JavaScript
●Avoids enormous network payloads Total size was 74 KiB
●JavaScript execution time 0.0 s
●Minimizes main-thread work 0.6 s
●Avoid long main-thread tasks 2 long tasks found
●Image elements have explicit `width` and `height`
●Page didn't prevent back/forward cache restoration
●Network Requests
●Network Round Trip Times 0 ms
●Server Backend Latencies 80 ms
●Tasks
●Diagnostics
●Metrics
●Screenshot Thumbnails
●Final Screenshot
●Script Treemap Data
●Resources Summary
●Avoid multiple page redirects
●Initial server response time was short Root document took 120 ms
○INP breakdown
○LCP request discovery
○User Timing marks and measures
○Avoid non-composited animations
○Avoid large layout shifts
86

Accessibility

These checks highlight opportunities to improve the accessibility of your web app. Automatic detection can only detect a subset of issues and does not guarantee the accessibility of your web app, so manual testing is also encouraged.

Contrast

Low-contrast text is difficult or impossible for many users to read. Learn how to provide sufficient color contrast.

Why this matters

Performance issues directly impact user engagement and conversion rates.

Failing Elements
Login body > header#nav > nav.corner > a.corner
48 li#story_q6j2fu > div.story_liner > div.voters > a.upvoter
tratt.net li#story_q6j2fu > div.story_liner > div.details > a.domain
authored by div.story_liner > div.details > div.byline > span
ltratt div.story_liner > div.details > div.byline > a.u-author
11 hours ago div.story_liner > div.details > div.byline > time
caches div.story_liner > div.details > div.byline > label.caches
36 li#story_otzxqs > div.story_liner > div.voters > a.upvoter
jon.chrt.dev li#story_otzxqs > div.story_liner > div.details > a.domain
authored by div.story_liner > div.details > div.byline > span
bugsmith div.story_liner > div.details > div.byline > a.u-author
10 hours ago div.story_liner > div.details > div.byline > time
caches div.story_liner > div.details > div.byline > label.caches
28 li#story_nihbc8 > div.story_liner > div.voters > a.upvoter
fsf.org li#story_nihbc8 > div.story_liner > div.details > a.domain
via div.story_liner > div.details > div.byline > span
jfred div.story_liner > div.details > div.byline > a.u-author
3 hours ago div.story_liner > div.details > div.byline > time
caches div.story_liner > div.details > div.byline > label.caches
18 li#story_ydlsfn > div.story_liner > div.voters > a.upvoter
app.element.io li#story_ydlsfn > div.story_liner > div.details > a.domain
via div.story_liner > div.details > div.byline > span
milkcanworld div.story_liner > div.details > div.byline > a.u-author
2 hours ago div.story_liner > div.details > div.byline > time
caches div.story_liner > div.details > div.byline > label.caches
24 li#story_jbyxup > div.story_liner > div.voters > a.upvoter
bsky.app li#story_jbyxup > div.story_liner > div.details > a.domain
via div.story_liner > div.details > div.byline > span
linkdd div.story_liner > div.details > div.byline > a.u-author
7 hours ago div.story_liner > div.details > div.byline > time
caches div.story_liner > div.details > div.byline > label.caches
github.com/xataio li#story_8disen > div.story_liner > div.details > a.domain
authored by div.story_liner > div.details > div.byline > span
tsg div.story_liner > div.details > div.byline > a.u-author
6 hours ago div.story_liner > div.details > div.byline > time
caches div.story_liner > div.details > div.byline > label.caches
146 li#story_4vvozb > div.story_liner > div.voters > a.upvoter
ziglang.org li#story_4vvozb > div.story_liner > div.details > a.domain
via div.story_liner > div.details > div.byline > span
vpol div.story_liner > div.details > div.byline > a.u-author
31 hours ago div.story_liner > div.details > div.byline > time
caches div.story_liner > div.details > div.byline > label.caches
56 li#story_vb70md > div.story_liner > div.voters > a.upvoter
tinkering.xyz li#story_vb70md > div.story_liner > div.details > a.domain
authored by div.story_liner > div.details > div.byline > span
zmitchell div.story_liner > div.details > div.byline > a.u-author
19 hours ago div.story_liner > div.details > div.byline > time
caches div.story_liner > div.details > div.byline > label.caches
33 li#story_zubxux > div.story_liner > div.voters > a.upvoter
lewiscampbell.tech li#story_zubxux > div.story_liner > div.details > a.domain
authored by div.story_liner > div.details > div.byline > span
LAC-Tech div.story_liner > div.details > div.byline > a.u-author
23 hours ago div.story_liner > div.details > div.byline > time
caches div.story_liner > div.details > div.byline > label.caches
arxiv.org li#story_r4dspa > div.story_liner > div.details > a.domain
via div.story_liner > div.details > div.byline > span
krig div.story_liner > div.details > div.byline > a.u-author
5 hours ago div.story_liner > div.details > div.byline > time
caches div.story_liner > div.details > div.byline > label.caches
17 li#story_hphrhd > div.story_liner > div.voters > a.upvoter
warped3.substack.com li#story_hphrhd > div.story_liner > div.details > a.domain
via div.story_liner > div.details > div.byline > span
technetium div.story_liner > div.details > div.byline > a.u-author
10 hours ago div.story_liner > div.details > div.byline > time
caches div.story_liner > div.details > div.byline > label.caches
stylewarning.com li#story_inohss > div.story_liner > div.details > a.domain
via div.story_liner > div.details > div.byline > span
Corbin div.story_liner > div.details > div.byline > a.u-author
6 hours ago div.story_liner > div.details > div.byline > time
caches div.story_liner > div.details > div.byline > label.caches
69 li#story_ak5mgm > div.story_liner > div.voters > a.upvoter
codeberg.org li#story_ak5mgm > div.story_liner > div.details > a.domain
via div.story_liner > div.details > div.byline > span
jmelesky div.story_liner > div.details > div.byline > a.u-author
30 hours ago div.story_liner > div.details > div.byline > time
caches div.story_liner > div.details > div.byline > label.caches
29 li#story_orvtly > div.story_liner > div.voters > a.upvoter
iczelia.net li#story_orvtly > div.story_liner > div.details > a.domain
via div.story_liner > div.details > div.byline > span
eBPF div.story_liner > div.details > div.byline > a.u-author
17 hours ago div.story_liner > div.details > div.byline > time
caches div.story_liner > div.details > div.byline > label.caches
58 li#story_l6c9wi > div.story_liner > div.voters > a.upvoter
lisyarus.github.io li#story_l6c9wi > div.story_liner > div.details > a.domain
via div.story_liner > div.details > div.byline > span
intarga div.story_liner > div.details > div.byline > a.u-author
29 hours ago div.story_liner > div.details > div.byline > time
caches div.story_liner > div.details > div.byline > label.caches
17 li#story_tb3mga > div.story_liner > div.voters > a.upvoter
fset.common-lisp.dev li#story_tb3mga > div.story_liner > div.details > a.domain
via div.story_liner > div.details > div.byline > span
amoroso div.story_liner > div.details > div.byline > a.u-author
13 hours ago div.story_liner > div.details > div.byline > time
caches div.story_liner > div.details > div.byline > label.caches
freebsdfoundation.org li#story_9ooaxp > div.story_liner > div.details > a.domain
via div.story_liner > div.details > div.byline > span
calvin div.story_liner > div.details > div.byline > a.u-author
7 hours ago div.story_liner > div.details > div.byline > time
caches div.story_liner > div.details > div.byline > label.caches
13 li#story_xt0wqm > div.story_liner > div.voters > a.upvoter
daverupert.com li#story_xt0wqm > div.story_liner > div.details > a.domain
via div.story_liner > div.details > div.byline > span
uncenter div.story_liner > div.details > div.byline > a.u-author
5 hours ago div.story_liner > div.details > div.byline > time
caches div.story_liner > div.details > div.byline > label.caches
23 li#story_krdjnf > div.story_liner > div.voters > a.upvoter
truffleruby.dev li#story_krdjnf > div.story_liner > div.details > a.domain
authored by div.story_liner > div.details > div.byline > span
eregon div.story_liner > div.details > div.byline > a.u-author
25 hours ago div.story_liner > div.details > div.byline > time
caches div.story_liner > div.details > div.byline > label.caches
simonhartcher.com li#story_51obiz > div.story_liner > div.details > a.domain
authored by div.story_liner > div.details > div.byline > span
deevus div.story_liner > div.details > div.byline > a.u-author
15 hours ago div.story_liner > div.details > div.byline > time
caches div.story_liner > div.details > div.byline > label.caches
dbreunig.com li#story_dzlbeb > div.story_liner > div.details > a.domain
via div.story_liner > div.details > div.byline > span
zk div.story_liner > div.details > div.byline > a.u-author
33 minutes ago div.story_liner > div.details > div.byline > time
caches div.story_liner > div.details > div.byline > label.caches
30 li#story_7lmezq > div.story_liner > div.voters > a.upvoter
adele.pages.casa li#story_7lmezq > div.story_liner > div.details > a.domain
via div.story_liner > div.details > div.byline > span
Aks div.story_liner > div.details > div.byline > a.u-author
28 hours ago div.story_liner > div.details > div.byline > time
caches div.story_liner > div.details > div.byline > label.caches
28 li#story_nfelvb > div.story_liner > div.voters > a.upvoter
armanckeser.com li#story_nfelvb > div.story_liner > div.details > a.domain
via div.story_liner > div.details > div.byline > span
ciferkey div.story_liner > div.details > div.byline > a.u-author
23 hours ago div.story_liner > div.details > div.byline > time
caches div.story_liner > div.details > div.byline > label.caches
github.com/inamiy li#story_mt33ed > div.story_liner > div.details > a.domain
via div.story_liner > div.details > div.byline > span
snej div.story_liner > div.details > div.byline > a.u-author
7 hours ago div.story_liner > div.details > div.byline > time
caches div.story_liner > div.details > div.byline > label.caches
57 li#story_hedf1w > div.story_liner > div.voters > a.upvoter
trifectatech.org li#story_hedf1w > div.story_liner > div.details > a.domain
via div.story_liner > div.details > div.byline > span
LesleyLai div.story_liner > div.details > div.byline > a.u-author
36 hours ago div.story_liner > div.details > div.byline > time
caches div.story_liner > div.details > div.byline > label.caches
About body > footer > nav > a
Tags body > footer > nav > a
Filter body > footer > nav > a
Moderation Log body > footer > nav > a

Low-contrast text is difficult or impossible for many users to read. Link text that is discernible improves the experience for users with low vision. Learn how to make links distinguishable.

Why this matters

Performance issues directly impact user engagement and conversion rates.

Failing Elements
bugsmith div.story_liner > div.details > div.byline > a.u-author
zmitchell div.story_liner > div.details > div.byline > a.u-author
LAC-Tech div.story_liner > div.details > div.byline > a.u-author
eregon div.story_liner > div.details > div.byline > a.u-author
deevus div.story_liner > div.details > div.byline > a.u-author

These are opportunities to improve the legibility of your content.

Best practices

Touch targets with sufficient size and spacing help users who may have difficulty targeting small controls to activate the targets. Learn more about touch targets.

Why this matters

Performance issues directly impact user engagement and conversion rates.

Failing Elements
compilers div.story_liner > div.details > span.tags > a.tag
programming div.story_liner > div.details > span.tags > a.tag
vibecoding div.story_liner > div.details > span.tags > a.tag
adele.pages.casa li#story_7lmezq > div.story_liner > div.details > a.domain

One main landmark helps screen reader users navigate a web page. Learn more about landmarks.

Why this matters

Performance issues directly impact user engagement and conversion rates.

Failing Elements
html html

These items highlight common accessibility best practices.

○Interactive controls are keyboard focusable
○Interactive elements indicate their purpose and state
○The page has a logical tab order
○Visual order on the page follows DOM order
○User focus is not accidentally trapped in a region
○The user's focus is directed to new content added to the page
○HTML5 landmark elements are used to improve navigation
○Offscreen content is hidden from assistive technology
○Custom controls have associated labels
○Custom controls have ARIA roles
●`[aria-*]` attributes match their roles
●`[aria-hidden="true"]` is not present on the document `<body>`
●`[role]`s have all required `[aria-*]` attributes
●`[role]` values are valid
●`[aria-*]` attributes have valid values
●`[aria-*]` attributes are valid and not misspelled
●`[user-scalable="no"]` is not used in the `<meta name="viewport">` element and the `[maximum-scale]` attribute is not less than 5.
●ARIA attributes are used as specified for the element's role
●`[aria-hidden="true"]` elements do not contain focusable descendents
●Elements use only permitted ARIA attributes
●Document has a `<title>` element
●`<html>` element has a `[lang]` attribute
●`<html>` element has a valid value for its `[lang]` attribute
●Links have a discernible name
●Lists contain only `<li>` elements and script supporting elements (`<script>` and `<template>`).
●List items (`<li>`) are contained within `<ul>`, `<ol>` or `<menu>` parent elements
●No element has a `[tabindex]` value greater than 0
●Heading elements appear in a sequentially-descending order
●Deprecated ARIA roles were not used
●Uses ARIA roles only on compatible elements
●Identical links have the same purpose.
●Elements with visible text labels have matching accessible names.
○`[accesskey]` values are unique
○`button`, `link`, and `menuitem` elements have accessible names
○Elements with `role="dialog"` or `role="alertdialog"` have accessible names.
○ARIA input fields have accessible names
○ARIA `meter` elements have accessible names
○ARIA `progressbar` elements have accessible names
○Elements with an ARIA `[role]` that require children to contain a specific `[role]` have all required children.
○`[role]`s are contained by their required parent element
○Elements with the `role=text` attribute do not have focusable descendents.
○ARIA toggle fields have accessible names
○ARIA `tooltip` elements have accessible names
○ARIA `treeitem` elements have accessible names
○Buttons have an accessible name
○The page contains a heading, skip link, or landmark region
○`<dl>`'s contain only properly-ordered `<dt>` and `<dd>` groups, `<script>`, `<template>` or `<div>` elements.
○Definition list items are wrapped in `<dl>` elements
○ARIA IDs are unique
○No form fields have multiple labels
○`<frame>` or `<iframe>` elements have a title
○`<html>` element has an `[xml:lang]` attribute with the same base language as the `[lang]` attribute.
○Image elements have `[alt]` attributes
○Input buttons have discernible text.
○`<input type="image">` elements have `[alt]` text
○Form elements have associated labels
○The document does not use `<meta http-equiv="refresh">`
○`<object>` elements have alternate text
○Select elements have associated label elements.
○Skip links are focusable.
○Cells in a `<table>` element that use the `[headers]` attribute refer to table cells within the same table.
○`<th>` elements and elements with `[role="columnheader"/"rowheader"]` have data cells they describe.
○`[lang]` attributes have a valid value
○`<video>` elements contain a `<track>` element with `[kind="captions"]`
○Tables have different content in the summary attribute and `<caption>`.
○All heading elements contain content.
○Image elements do not have `[alt]` attributes that are redundant text.
○Tables use `<caption>` instead of cells with the `[colspan]` attribute to indicate a caption.
○`<td>` elements in a large `<table>` have one or more table headers.
100

Best Practices

●Uses HTTPS
●Avoids deprecated APIs
●Avoids third-party cookies
●Allows users to paste into input fields
●Avoids requesting the geolocation permission on page load
●Avoids requesting the notification permission on page load
●Displays images with correct aspect ratio
●Serves images with appropriate resolution
●Page has the HTML doctype
●Properly defines charset
●No browser errors logged to the console
●No issues in the `Issues` panel in Chrome Devtools
●Ensure CSP is effective against XSS attacks
●Ensure proper origin isolation with COOP
●Mitigate DOM-based XSS with Trusted Types
●Page has valid source maps
○Redirects HTTP traffic to HTTPS
○Use a strong HSTS policy
○Mitigate clickjacking with XFO or CSP
○Detected JavaScript libraries
91

SEO

These checks ensure that your page is following basic search engine optimization advice. There are many additional factors Lighthouse does not score here that may affect your search ranking, including performance on Core Web Vitals. Learn more about Google Search Essentials.

Content Best Practices

Meta descriptions may be included in search results to concisely summarize page content. Learn more about the meta description.

Why this matters

Performance issues directly impact user engagement and conversion rates.

Format your HTML in a way that enables crawlers to better understand your app’s content.

○Structured data is valid
●Page isn’t blocked from indexing
●Document has a `<title>` element
●Page has successful HTTP status code
●Links have descriptive text
●Links are crawlable
●robots.txt is valid
●Document has a valid `hreflang`
○Image elements have `[alt]` attributes
○Document has a valid `rel=canonical`

Send Feedback