Air Horn - a party noise maker

https://wickeyware.github.io/was-tutorial/index.html
Air Horn - a party noise maker. A demo of a progressive web app using WickeyAppStore
Added 4 months ago, Updated 8 hours ago

LIGHTHOUSE 91

Lighthouse version2.5.0
Progressive Web App91
Registers a service workertrue
Responds with a 200 when offlinetrue
Contains some content when JavaScript is not availabletrue
Uses HTTPStrue
Redirects HTTP traffic to HTTPStrue
Page load is not fast enough on 3Gfalse
User can be prompted to Install the Web Apptrue
Configured for a custom splash screentrue
Address bar matches brand colorstrue
Has a `<meta name="viewport">` tag with `width` or `initial-scale`true
Content is sized correctly for the viewporttrue
Site works cross-browserfalse
Page transitions don't feel like they block on the networkfalse
Each page has a URLfalse
Performance43
First meaningful paint27
First Interactive (beta)49
Consistently Interactive (beta)49
Perceptual Speed Index22
Estimated Input Latency82
Reduce render-blocking stylesheets0
Reduce render-blocking scripts0
Properly size images100
Offscreen images100
Optimize images100
Serve images as WebP100
Enable text compression0
Keep server response times low (TTFB)true
Avoids enormous network payloads100
Avoids an excessive DOM size100
Critical Request Chainsfalse
User Timing marks and measuresfalse
Screenshot Thumbnails100
Accessibility91
`[accesskey]` values are unique.true
`[aria-*]` attributes match their roles.true
`[role]`s have all required `[aria-*]` attributes.true
Elements with `[role]` that require specific children `[role]`s, are present.true
`[role]`s are contained by their required parent element.true
`[role]` values are valid.true
`[aria-*]` attributes have valid values.true
`[aria-*]` attributes are valid and not misspelled.true
`<audio>` elements contain a `<track>` element with `[kind="captions"]`.true
Buttons do not have an accessible name.false
The page contains a heading, skip link, or landmark region.true
Background and foreground colors do not have a sufficient contrast ratio.false
`<dl>`'s contain only properly-ordered `<dt>` and `<dd>` groups, `<script>` or `<template>` elements.true
Definition list items are wrapped in `<dl>` elements.true
Document has a `<title>` element.true
`[id]` attributes on the page are unique.true
`<frame>` or `<iframe>` elements do not have a title.false
`<html>` element has a `[lang]` attribute.true
`<html>` element has a valid value for its `[lang]` attribute.true
Image elements have `[alt]` attributes.true
`<input type="image">` elements have `[alt]` text.true
Form elements have associated labels.true
Presentational `<table>` elements avoid using `<th>`, `<caption>` or the `[summary]` attribute.true
Links have a discernible name.true
Lists contain only `<li>` elements and script supporting elements (`<script>` and `<template>`).true
List items (`<li>`) are contained within `<ul>` or `<ol>` parent elements.true
The document does not use `<meta http-equiv="refresh">`.true
`[user-scalable="no"]` is not used in the `<meta name="viewport">` element and the `[maximum-scale]` attribute is not less than 5.true
`<object>` elements have `[alt]` text.true
No element has a `[tabindex]` value greater than 0.true
Cells in a `<table>` element that use the `[headers]` attribute only refer to other cells of that same table.true
`<th>` elements and elements with `[role="columnheader"/"rowheader"]` have data cells they describe.true
`[lang]` attributes have a valid value.true
`<video>` elements contain a `<track>` element with `[kind="captions"]`.true
`<video>` elements contain a `<track>` element with `[kind="description"]`.true
Best Practices88
Avoids Application Cachetrue
Avoids WebSQL DBtrue
Uses HTTPStrue
Uses HTTP/2 for its own resourcestrue
Does not use passive listeners to improve scrolling performancefalse
Avoids Mutation Events in its own scriptstrue
Avoids `document.write()`true
Opens external anchors using `rel="noopener"`true
Avoids requesting the geolocation permission on page loadtrue
Avoids front-end JavaScript libraries with known security vulnerabilitiestrue
Avoids requesting the notification permission on page loadtrue
Avoids deprecated APIstrue
Manifest's `short_name` won't be truncated when displayed on homescreentrue
Allows users to paste into password fieldstrue
No browser errors logged to the consoletrue
Does not uses Images with appropriate aspect ratio0

WebPageTest

PageSpeed Insights

MANIFEST

{
  "name": "Air Horn -  a party noise maker",
  "short_name": "Air Horn",
  "gcm_sender_id": "482941778795",
  "icons": [
    {
      "src": "https://imgur.com/CTN5xA2.png",
      "sizes": "36x36",
      "type": "image/png"
    },
    {
      "src": "https://imgur.com/zDT0Tww.png",
      "sizes": "48x48",
      "type": "image/png"
    },
    {
      "src": "https://imgur.com/5RxJfNJ.png",
      "sizes": "60x60",
      "type": "image/png"
    },
    {
      "src": "https://imgur.com/77VvNsm.png",
      "sizes": "72x72",
      "type": "image/png"
    },
    {
      "src": "https://imgur.com/SiYLz7P.png",
      "sizes": "76x76",
      "type": "image/png"
    },
    {
      "src": "https://imgur.com/9KdCqSb.png",
      "sizes": "96x96",
      "type": "image/png"
    },
    {
      "src": "https://imgur.com/i9pXNKY.png",
      "sizes": "120x120",
      "type": "image/png"
    },
    {
      "src": "https://imgur.com/xoxax1X.png",
      "sizes": "152x152",
      "type": "image/png"
    },
    {
      "src": "https://imgur.com/js4lcxC.png",
      "sizes": "180x180",
      "type": "image/png"
    },
    {
      "src": "https://imgur.com/F8Hetdh.png",
      "sizes": "192x192",
      "type": "image/png"
    },
    {
      "src": "https://imgur.com/rV6ODHb.png",
      "sizes": "512x512",
      "type": "image/png"
    }
  ],
  "theme_color": "#ffffff",
  "background_color": "#ffffff",
  "start_url": "/was-tutorial/index.html",
  "display": "standalone",
  "orientation": "portrait"
}