diff --git a/front_end/resources/ServiceWorkersView.js b/front_end/resources/ServiceWorkersView.js
index 01b793a296..7a9e2cc303 100644
--- a/front_end/resources/ServiceWorkersView.js
+++ b/front_end/resources/ServiceWorkersView.js
@@ -243,6 +243,7 @@ Resources.ServiceWorkersView = class extends UI.VBox {
if (!section) {
const title = registration.scopeURL;
const uiSection = this._getReportViewForOrigin(registration.securityOrigin).appendSection(title);
+ uiSection.setUiGroupTitle(ls`Service worker for ${title}`);
uiSection[this._registrationSymbol] = registration;
section = new Resources.ServiceWorkersView.Section(
/** @type {!SDK.ServiceWorkerManager} */ (this._manager), uiSection, registration);
diff --git a/front_end/resources/resources_strings.grdp b/front_end/resources/resources_strings.grdp
index 098e764d9d..c0ba907080 100644
--- a/front_end/resources/resources_strings.grdp
+++ b/front_end/resources/resources_strings.grdp
@@ -209,6 +209,9 @@ read the "$1sdatabase" table.
#$1s2 waiting to activate
+
+ Service worker for https://example.com$1s
+
Key path: '''
diff --git a/front_end/ui/ReportView.js b/front_end/ui/ReportView.js
index 0be2ec8a99..be188a11f1 100644
--- a/front_end/ui/ReportView.js
+++ b/front_end/ui/ReportView.js
@@ -150,6 +150,15 @@ export class Section extends UI.VBox {
this._titleElement.classList.toggle('hidden', !this._titleElement.textContent);
}
+ /**
+ * Declares the overall container to be a group and assigns a title.
+ * @param {string} groupTitle
+ */
+ setUiGroupTitle(groupTitle) {
+ UI.ARIAUtils.markAsGroup(this.element);
+ UI.ARIAUtils.setAccessibleName(this.element, groupTitle);
+ }
+
/**
* @return {!UI.Toolbar}
*/