{
  "slug": "lab",
  "url": "https://openpwa.net/lab/device-tests/",
  "probe": {
    "href": "https://openpwa.net/lab/device-tests/",
    "css": {
      "height: 100dvh": true,
      "env(titlebar-area-height)": true,
      "color: oklch()": true,
      "safeAreaInsetsComputed": {
        "bottom": "0px",
        "top": "0px",
        "left": "0px",
        "right": "0px"
      },
      "@supports selector(:has(a))": true,
      "env(viewport-segment-width 0 0)": false,
      "env(safe-area-inset-top)": true
    },
    "navigator.standalone": false,
    "language": "zh-CN",
    "title": "Device test lab — OpenPWA",
    "viewportSegments": {
      "window.viewport": "undefined",
      "window.viewport?.segments": "n/a",
      "getWindowSegments": "undefined",
      "(horizontal-viewport-segments: 1)": false,
      "(vertical-viewport-segments: 1)": false,
      "(vertical-viewport-segments: 2)": false,
      "(horizontal-viewport-segments: 2)": false
    },
    "collectedAt": "2026-10-20T06:54:33.787Z",
    "maxTouchPoints": 5,
    "vendor": "Apple Computer, Inc.",
    "deviceMemory": "undefined",
    "devicePixelRatio": 3,
    "documentElementClient": {
      "w": 402,
      "h": 678
    },
    "outerWidth": 402,
    "pageText": "OpenPWA device test lab (not indexed)\nDevice test lab\n\nA test harness for the openpwa.net device checklist. It has its own manifest, scope (/lab/device-tests/) and service worker, separate from /demo/. Nothing on this page is sent anywhere: no analytics, no third-party requests, no server.\n\ncontext: browser tab (display-mode: browser; navigator.standalone: false)\n\nT3: which icon did the Home Screen use?\nEach declared icon is a different colour with its size printed on it. Add this page to the Home Screen and read the label off the icon.\n\n180 red: apple-touch-icon\n192 blue: manifest, purpose any\n512 green: manifest, purpose any\nM192 purple: manifest, maskable\nM512 teal: manifest, maskable\nFAV grey: rel=icon\nThis page declares the apple-touch-icon (180) and four manifest icons. A page screenshot or a letter tile means none was used. Second app, manifest icons only (no apple-touch-icon): /lab/device-tests/t3/manifest-only/.\n\nT4: status bar and top blur variants\nEvery variant has numbered lines to scroll under the status bar and prints its own geometry. The first five open inside this app when you tap them from the installed lab (same scope). The three status-bar-style variants are separate apps: add each one to the Home Screen from Safari, because the meta tag is read when the app is added or launched.\n\nVariant\tTop element\tOpen\nbaseline\tnone fixed; header scrolls away\topen\nfixed\tposition: fixed, 56 px, full width, top 0\topen\nsticky\tposition: sticky, 56 px, full width\topen\nsafe-a",
    "declarations": {
      "manifest": "/lab/device-tests/manifest.webmanifest",
      "appleCapable": "yes",
      "appleTitle": "PWA Lab",
      "appleTouchIcon": [
        "/lab/device-tests/icons/ati-180.png"
      ],
      "viewportMeta": "width=device-width, initial-scale=1",
      "themeColor": "#161616",
      "appleStatusBarStyle": null,
      "icons": [
        "/lab/device-tests/icons/favicon-96.png"
      ]
    },
    "platform": "iPhone",
    "userAgent": "Mozilla/5.0 (iPhone; CPU iPhone OS 18_6_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.6 Mobile/15E148 Safari/604.1",
    "hardwareConcurrency": 4,
    "innerWidth": 402,
    "outerHeight": 874,
    "visualViewport": {
      "offsetTop": 0,
      "height": 678,
      "scale": 1,
      "offsetLeft": 0,
      "pageTop": 0,
      "width": 402
    },
    "displayModes": {
      "standalone": false,
      "fullscreen": false,
      "picture-in-picture": false,
      "minimal-ui": false,
      "browser": true,
      "application": false,
      "window-controls-overlay": false
    },
    "mediaQueries": {
      "(dynamic-range: high)": true,
      "(color-gamut: p3)": true,
      "(prefers-reduced-motion: reduce)": false,
      "(prefers-color-scheme: dark)": false,
      "(pointer: coarse)": true,
      "(prefers-contrast: more)": false,
      "(orientation: portrait)": true,
      "(hover: hover)": false
    },
    "innerHeight": 678,
    "languages": [
      "zh-CN"
    ],
    "screen": {
      "height": 874,
      "availHeight": 874,
      "angle": 0,
      "width": 402,
      "availWidth": 402,
      "colorDepth": 24,
      "orientation": "portrait-primary"
    },
    "features": {
      "'wakeLock' in navigator": true,
      "'clearAppBadge' in navigator": false,
      "'windowControlsOverlay' in navigator": false,
      "'xr' in navigator": false,
      "'DigitalCredential' in window": false,
      "'periodicSync' in ServiceWorkerRegistration.prototype": false,
      "'BeforeInstallPromptEvent' in window": false,
      "'PaymentRequest' in window": true,
      "'hid' in navigator": false,
      "'showOpenFilePicker' in window": false,
      "'clipboard' in navigator": true,
      "'documentPictureInPicture' in window": false,
      "typeof Notification.requestPermission": "undefined",
      "canShare({files:[txt]})": true,
      "'storage' in navigator": true,
      "'usb' in navigator": false,
      "'serial' in navigator": false,
      "'CookieStore' in window": true,
      "'PushManager' in window": false,
      "'bluetooth' in navigator": false,
      "'share' in navigator": true,
      "'Notification' in window": false,
      "'setAppBadge' in navigator": false,
      "typeof window.pushManager?.permissionState": "function",
      "canShare({url})": true,
      "'startViewTransition' in document": true,
      "'screen.orientation.lock'": "undefined",
      "'requestFullscreen' in documentElement": true,
      "'navigation' in window": false,
      "'showDirectoryPicker' in window": false,
      "'install' in navigator": false,
      "'virtualKeyboard' in navigator": false,
      "'onbeforeinstallprompt' in window": false,
      "'pushManager' in window": true,
      "'cookieStore' in window": true,
      "typeof navigator.install": "undefined",
      "serviceWorkerRegistrations": [
        {
          "scope": "https://openpwa.net/lab/device-tests/",
          "state": "activated",
          "active": true
        }
      ],
      "'canShare' in navigator": true,
      "storage.estimate()": {
        "quota": 1048576000,
        "usage": 30
      },
      "'credentials' in navigator": true,
      "'navigationPreload' in ServiceWorkerRegistration.prototype": true,
      "'ViewTransition' in window": true,
      "'scheduler' in window": false,
      "serviceWorker.controller": true,
      "'showSaveFilePicker' in window": false,
      "'userActivation' in navigator": true,
      "PushManager.supportedContentEncodings": "n/a",
      "'NDEFReader' in window": false,
      "typeof window.pushManager?.getSubscription": "function",
      "'BroadcastChannel' in window": true,
      "'onappinstalled' in window": false,
      "storage.persisted()": false,
      "Notification.permission": "n/a",
      "'getInstalledRelatedApps' in navigator": false,
      "'contacts' in navigator": false,
      "'webkitRequestFullscreen' in documentElement": true,
      "'sync' in ServiceWorkerRegistration.prototype": false,
      "'mediaSession' in navigator": true,
      "'getBattery' in navigator": false,
      "'PublicKeyCredential' in window": true,
      "typeof window.pushManager?.subscribe": "function",
      "'vibrate' in navigator": false,
      "'IdentityCredential' in window": false,
      "'launchQueue' in window": false,
      "typeof navigator.storage?.getDirectory (OPFS)": "function",
      "typeof navigator.storage?.persist": "function",
      "'serviceWorker' in navigator": true
    }
  },
  "labResults": {
    "probeOut": "swVersion\nlab-sw-v2\ncapturedAt\nworker start, before any handler property is assigned\n'onnotificationclick' in self\nfalse\ntypeof self.onnotificationclick\nundefined\n'onnotificationclose' in self\nfalse\n'onpush' in self\nfalse\n'onpushsubscriptionchange' in self\nfalse\n'Notification' in self\nfalse\n'showNotification' in registration\nfalse\n'pushManager' in registration\nfalse\ntypeof clients.openWindow\nfunction\nscope\nhttps://openpwa.net/lab/device-tests/\n",
    "collectResultsFresh": {
      "displayModes": {
        "fullscreen": false,
        "browser": true,
        "minimal-ui": false,
        "standalone": false,
        "window-controls-overlay": false,
        "picture-in-picture": false
      },
      "declarations": {
        "viewportMeta": "width=device-width, initial-scale=1",
        "appleStatusBarStyle": null,
        "manifest": "/lab/device-tests/manifest.webmanifest",
        "appleTouchIcon": "/lab/device-tests/icons/ati-180.png",
        "themeColor": "#161616",
        "appleTitle": "PWA Lab"
      },
      "collectedAt": "2026-10-20T06:54:36.821Z",
      "userAgent": "Mozilla/5.0 (iPhone; CPU iPhone OS 18_6_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.6 Mobile/15E148 Safari/604.1",
      "push": {
        "subscribed": false,
        "endpointHost": null
      },
      "featureDetects": {
        "typeof window.pushManager?.subscribe": "function",
        "'PushManager' in window": false,
        "Notification.permission": "n/a",
        "'BeforeInstallPromptEvent' in window": false,
        "'onbeforeinstallprompt' in window": false,
        "'pushManager' in window (Declarative Web Push)": true,
        "typeof navigator.install": "undefined",
        "typeof window.pushManager?.permissionState": "function",
        "'storage' in navigator": true,
        "'getInstalledRelatedApps' in navigator": false,
        "'install' in navigator": false,
        "'setAppBadge' in navigator": false,
        "'share' in navigator": true,
        "'serviceWorker' in navigator": true,
        "'Notification' in window": false
      },
      "context": "browser tab (display-mode: browser; navigator.standalone: false)",
      "navigator.standalone": false,
      "lastEventLocalStorage": null,
      "referrer": null,
      "viewport": {
        "screen": "402x874",
        "innerWidth": 402,
        "devicePixelRatio": 3,
        "innerHeight": 678,
        "safeAreaInsets": {
          "bottom": "0px",
          "top": "0px",
          "left": "0px",
          "right": "0px"
        },
        "orientation": "portrait-primary"
      },
      "serviceWorker": {
        "registration": null,
        "controlled": true,
        "exposure": null
      },
      "recentEventsIndexedDB": [],
      "page": "https://openpwa.net/lab/device-tests/",
      "storageMarker": {
        "indexedDB": null,
        "localStorage": null,
        "cookie": null
      }
    },
    "context": "context: browser tab (display-mode: browser; navigator.standalone: false)",
    "textareaParsed": {
      "collectedAt": "2026-10-20T06:54:27.772Z",
      "page": "https://openpwa.net/lab/device-tests/",
      "referrer": null,
      "userAgent": "Mozilla/5.0 (iPhone; CPU iPhone OS 18_6_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.6 Mobile/15E148 Safari/604.1",
      "context": "browser tab (display-mode: browser; navigator.standalone: false)",
      "navigator.standalone": false,
      "displayModes": {
        "browser": true,
        "minimal-ui": false,
        "standalone": false,
        "fullscreen": false,
        "window-controls-overlay": false,
        "picture-in-picture": false
      },
      "viewport": {
        "innerWidth": 402,
        "innerHeight": 678,
        "screen": "402x874",
        "devicePixelRatio": 3,
        "orientation": "portrait-primary",
        "safeAreaInsets": {
          "top": "0px",
          "right": "0px",
          "bottom": "0px",
          "left": "0px"
        }
      },
      "declarations": {
        "manifest": "/lab/device-tests/manifest.webmanifest",
        "appleTouchIcon": "/lab/device-tests/icons/ati-180.png",
        "themeColor": "#161616",
        "appleStatusBarStyle": null,
        "appleTitle": "PWA Lab",
        "viewportMeta": "width=device-width, initial-scale=1"
      },
      "featureDetects": {
        "'serviceWorker' in navigator": true,
        "'Notification' in window": false,
        "Notification.permission": "n/a",
        "'PushManager' in window": false,
        "'pushManager' in window (Declarative Web Push)": true,
        "typeof window.pushManager?.subscribe": "function",
        "typeof window.pushManager?.permissionState": "function",
        "'install' in navigator": false,
        "typeof navigator.install": "undefined",
        "'BeforeInstallPromptEvent' in window": false,
        "'onbeforeinstallprompt' in window": false,
        "'getInstalledRelatedApps' in navigator": false,
        "'setAppBadge' in navigator": false,
        "'share' in navigator": true,
        "'storage' in navigator": true
      },
      "serviceWorker": {
        "registration": {
          "ok": true,
          "detail": "registered, scope https://openpwa.net/lab/device-tests/"
        },
        "controlled": true,
        "exposure": {
          "swVersion": "lab-sw-v2",
          "capturedAt": "worker start, before any handler property is assigned",
          "'onnotificationclick' in self": false,
          "typeof self.onnotificationclick": "undefined",
          "'onnotificationclose' in self": false,
          "'onpush' in self": false,
          "'onpushsubscriptionchange' in self": false,
          "'Notification' in self": false,
          "'showNotification' in registration": false,
          "'pushManager' in registration": false,
          "typeof clients.openWindow": "function",
          "scope": "https://openpwa.net/lab/device-tests/"
        }
      },
      "push": {
        "subscribed": false,
        "endpointHost": null
      },
      "storageMarker": {
        "localStorage": null,
        "indexedDB": null,
        "cookie": null
      },
      "lastEventLocalStorage": null,
      "recentEventsIndexedDB": []
    }
  }
}