diff --git a/tools/cldr-apps/js/src/esm/cldrAnnounce.mjs b/tools/cldr-apps/js/src/esm/cldrAnnounce.mjs
index d9515685457..056611e93aa 100644
--- a/tools/cldr-apps/js/src/esm/cldrAnnounce.mjs
+++ b/tools/cldr-apps/js/src/esm/cldrAnnounce.mjs
@@ -124,6 +124,9 @@ function canChooseAllOrgs() {
return cldrStatus.getPermissions()?.userIsTC || false;
}
+/**
+ * @param localeState 'ddl' or 'all' or 'choose'
+ */
async function compose(formState, viewCallbackComposeResult) {
resetSchedule();
const init = cldrAjax.makePostData(formState);
diff --git a/tools/cldr-apps/js/src/views/AnnounceForm.vue b/tools/cldr-apps/js/src/views/AnnounceForm.vue
index e129121a27e..c18dd5ab5ef 100644
--- a/tools/cldr-apps/js/src/views/AnnounceForm.vue
+++ b/tools/cldr-apps/js/src/views/AnnounceForm.vue
@@ -43,11 +43,17 @@
-
+
+ All
+ All DDL (non-TC) Locales
+ Choose…
+
+
Cancel
- Post
@@ -86,7 +96,7 @@