- Check for manifest.json or .webmanifest (if served by correct type)
- Check for HTTPs
- (maybe check if SW is registered, not required tho)
- check for reqired keys for A2HS
- background_color
- display
- icon (size, src, type)
- start_url
- name / short_name
- name: length of String (if too long, recomment also adding short_name which will be then used on home screen, launcher etc)
- short_name: recomment also using name as this one is displayed in the install prompt and might be easier to understand
- icons: 1 needed including src, size & type (object pattern matching), size of icon should be devidable by 48. Check for type.
- background_color: maybe check for color + bg_color contrast, check if value is correct(hex, rgb, rgba)
- theme_color: same as bg_color
- display: 4 values allowed (fullscreen, standalone, minimal_UI, browser), pattern matching as validation. We should check for restrictions later on for every value.
- description: length?
https://searchfox.org/mozilla-central/source/dom/manifest/ValueExtractor.jsm#48,62 (color + language)