Notifications utilize native system integration where supported
Why it matters
Cramming multi-item data into a newline-joined type: 'basic' message discards rich OS notification affordances — per-item titles, action buttons, progress bars, image thumbnails — that users expect from native apps on macOS, Windows, and ChromeOS. Worse, requireInteraction: true on informational notifications blocks the OS from auto-dismissing them, forcing users to manually dismiss every stale update. The extension feels second-class, and on ChromeOS it violates platform UX conventions that reviewers flag during Chrome Web Store submission.
Severity rationale
Low because the extension still delivers information but with degraded ergonomics rather than a functional failure.
Remediation
Use type: 'list' for multi-item notifications with one row per item, type: 'progress' for long-running operations, and buttons for actionable quick replies. Reserve requireInteraction: true only for time-critical alerts. In background.js:
chrome.notifications.create({
type: 'list',
iconUrl: 'icons/48.png',
title: '3 New Messages',
message: '',
items: [{ title: 'Alice', message: 'hi' }, { title: 'Bob', message: 'ok' }],
buttons: [{ title: 'View All' }],
});
DetectionPro
The detection method for this pattern is part of AuditBuffet Pro.
The full method (what to look for, pass and fail conditions, and how results get reported) ships inside the Extension UX & Performance Audit. The pattern definition, severity rationale, and remediation remain openly licensed under CC-BY-4.0.
Taxons
History
- 2026-04-18·v1.0.0·Initial import from extension-ux-performance·automated