diff --git a/sdk/lib/html/dart2js/html_dart2js.dart b/sdk/lib/html/dart2js/html_dart2js.dart
index 2edf13d66be..36eb890c1ae 100644
--- a/sdk/lib/html/dart2js/html_dart2js.dart
+++ b/sdk/lib/html/dart2js/html_dart2js.dart
@@ -9,7 +9,7 @@
///
/// For information on writing web apps with Dart, see https://dart.dev/web.
///
-/// {@category Web}
+/// {@category Web (Legacy)}
/// {@canonicalFor dart:_internal.HttpStatus}
library dart.dom.html;
diff --git a/sdk/lib/indexed_db/dart2js/indexed_db_dart2js.dart b/sdk/lib/indexed_db/dart2js/indexed_db_dart2js.dart
index 1843720844c..83e63d33a50 100644
--- a/sdk/lib/indexed_db/dart2js/indexed_db_dart2js.dart
+++ b/sdk/lib/indexed_db/dart2js/indexed_db_dart2js.dart
@@ -61,7 +61,7 @@
/// MDN provides [API
/// documentation](https://developer.mozilla.org/en-US/docs/Web/API/IndexedDB_API).
///
-/// {@category Web}
+/// {@category Web (Legacy)}
library dart.dom.indexed_db;
import 'dart:async';
diff --git a/sdk/lib/js/js.dart b/sdk/lib/js/js.dart
index 4fba6a40bb6..35dd0f7773e 100644
--- a/sdk/lib/js/js.dart
+++ b/sdk/lib/js/js.dart
@@ -81,7 +81,7 @@
///
/// var jsArray = JsObject.jsify([1, 2, 3]);
///
-/// {@category Web}
+/// {@category Web (Legacy)}
library dart.js;
import 'dart:collection' show ListMixin;
diff --git a/sdk/lib/js_util/js_util.dart b/sdk/lib/js_util/js_util.dart
index 5c609d468ab..96e3a3e81b6 100644
--- a/sdk/lib/js_util/js_util.dart
+++ b/sdk/lib/js_util/js_util.dart
@@ -8,7 +8,7 @@
/// You should only use these methods when the same effect cannot be achieved
/// with `@JS()` annotations.
///
-/// {@category Web}
+/// {@category Web (Legacy)}
library dart.js_util;
// Examples can assume:
diff --git a/sdk/lib/svg/dart2js/svg_dart2js.dart b/sdk/lib/svg/dart2js/svg_dart2js.dart
index 23a37c8d4e1..b9f75739ca0 100644
--- a/sdk/lib/svg/dart2js/svg_dart2js.dart
+++ b/sdk/lib/svg/dart2js/svg_dart2js.dart
@@ -5,7 +5,7 @@
/// refer to the
/// [Scalable Vector Graphics Specification](http://www.w3.org/TR/SVG/).
///
-/// {@category Web}
+/// {@category Web (Legacy)}
library dart.dom.svg;
import 'dart:async';
diff --git a/sdk/lib/web_audio/dart2js/web_audio_dart2js.dart b/sdk/lib/web_audio/dart2js/web_audio_dart2js.dart
index 5f4201f848a..08985ed74d2 100644
--- a/sdk/lib/web_audio/dart2js/web_audio_dart2js.dart
+++ b/sdk/lib/web_audio/dart2js/web_audio_dart2js.dart
@@ -1,6 +1,6 @@
/// High-fidelity audio programming in the browser.
///
-/// {@category Web}
+/// {@category Web (Legacy)}
library dart.dom.web_audio;
import 'dart:async';
diff --git a/sdk/lib/web_gl/dart2js/web_gl_dart2js.dart b/sdk/lib/web_gl/dart2js/web_gl_dart2js.dart
index 863834f90c1..f3165c313e2 100644
--- a/sdk/lib/web_gl/dart2js/web_gl_dart2js.dart
+++ b/sdk/lib/web_gl/dart2js/web_gl_dart2js.dart
@@ -1,6 +1,6 @@
/// 3D programming in the browser.
///
-/// {@category Web}
+/// {@category Web (Legacy)}
library dart.dom.web_gl;
import 'dart:async';
diff --git a/tools/write_dartdoc_options_file.py b/tools/write_dartdoc_options_file.py
index 8624301b04c..ad066a4cc70 100755
--- a/tools/write_dartdoc_options_file.py
+++ b/tools/write_dartdoc_options_file.py
@@ -32,7 +32,7 @@ def Main(argv):
if revision is None:
revision = 'main'
output = '''dartdoc:
- categoryOrder: ["Core", "VM", "Web"]
+ categoryOrder: ["Core", "VM", "Web", "Web (Legacy)"]
linkToSource:
root: '.'
uriTemplate: 'https://github.com/dart-lang/sdk/blob/%s/sdk/%%f%%#L%%l%%'