Extension options easily accessible via standard browser extension menu
Why it matters
Extensions that bury settings inside the popup — with no options_page or options_ui entry in the manifest — force users to discover configuration through trial and error. Right-clicking the extension icon yields only Chrome's default context menu entries; settings are unreachable through the standard path users expect. Users who lose or reset their popup state cannot recover their preferences, and enterprise administrators managing deployed extensions have no canonical settings surface to document. Discoverability collapses and advanced features go unused.
Severity rationale
Low because settings remain reachable through the popup but discoverability suffers for new and returning users.
Remediation
Declare options_ui in manifest.json so Chrome exposes an Options entry in the standard extension context menu, and add a settings link in the popup so users discover it from either path. Prefer embedded options over open_in_tab: true for simple settings:
{ "options_ui": { "page": "options.html", "open_in_tab": false } }
Wire the popup link with chrome.runtime.openOptionsPage() in popup.js.
Detection
-
ID:
options-accessible -
Severity:
low -
What to look for: Check whether an
options_pageoroptions_uiis declared inmanifest.json. If options exist, verify they are accessible via the standard Chrome extension context menu (right-click on the extension icon, then Options). Checkoptions_uifor"open_in_tab": truevs.false(embedded page) — both are valid, but embedded is preferred for simpler settings. Look for whether settings exposed in the options page duplicate settings buried in the popup, and whether the popup provides a clear link to the options page. Count all instances found and enumerate each. -
Pass criteria: An options page is declared in manifest and is reachable via the standard Chrome extension menu. If the extension has configurable settings, they are in the options page (not only in the popup). Popup includes a link or gear icon linking to options for discoverability. At least 1 implementation must be confirmed.
-
Fail criteria: Extension has meaningful configurable settings but no
options_pageoroptions_uideclared in manifest — settings only accessible via a non-standard path. OR options page exists but popup has no link to it, making it undiscoverable to most users. -
Skip (N/A) when: The extension has no configurable settings — it is a single-purpose tool with no user preferences (e.g., a simple tab counter or clipboard helper with no options to configure).
-
Detail on fail: Describe the accessibility issue. Example:
"Extension has 8 configurable settings (theme, behavior, filters) but no options_page declared in manifest — users cannot reach settings via standard right-click menu"or"Options page declared but popup has no link to it — users must right-click extension icon to discover settings exist." -
Remediation: Declare an options page in your manifest:
{ "options_ui": { "page": "options.html", "open_in_tab": false } }Add a settings link in your popup:
document.getElementById('settingsBtn').addEventListener('click', () => { chrome.runtime.openOptionsPage(); });
Taxons
History
- 2026-04-18·v1.0.0·Initial import from extension-ux-performance·automated