diff --git a/app/views/admin/dashboard/index.html.haml b/app/views/admin/dashboard/index.html.haml
index e67ad6637204e14f6f139a6c03e95dd8ca668834..ebca9beb035f6be8f2763be762f974d4a647d188 100644
--- a/app/views/admin/dashboard/index.html.haml
+++ b/app/views/admin/dashboard/index.html.haml
@@ -43,28 +43,34 @@
%h4
Features
%hr
- %p
- Sign up
+ - sign_up = "Sign up"
+ %p{ "aria-label" => "#{sign_up}: status " + (signup_enabled? ? "on" : "off") }
+ = sign_up
%span.light.pull-right
= boolean_to_icon signup_enabled?
- %p
- LDAP
+ - ldap = "LDAP"
+ %p{ "aria-label" => "#{ldap}: status " + (Gitlab.config.ldap.enabled ? "on" : "off") }
+ = ldap
%span.light.pull-right
= boolean_to_icon Gitlab.config.ldap.enabled
- %p
- Gravatar
+ - gravatar = "Gravatar"
+ %p{ "aria-label" => "#{gravatar}: status " + (gravatar_enabled? ? "on" : "off") }
+ = gravatar
%span.light.pull-right
= boolean_to_icon gravatar_enabled?
- %p
- OmniAuth
+ - omniauth = "OmniAuth"
+ %p{ "aria-label" => "#{omniauth}: status " + (Gitlab.config.omniauth.enabled ? "on" : "off") }
+ = omniauth
%span.light.pull-right
= boolean_to_icon Gitlab.config.omniauth.enabled
- %p
- Reply by email
+ - reply_email = "Reply by email"
+ %p{ "aria-label" => "#{reply_email}: status " + (Gitlab::IncomingEmail.enabled? ? "on" : "off") }
+ = reply_email
%span.light.pull-right
= boolean_to_icon Gitlab::IncomingEmail.enabled?
- %p
- Container Registry
+ - container_reg = "Container Registry"
+ %p{ "aria-label" => "#{container_reg}: status " + (Gitlab.config.registry.enabled ? "on" : "off") }
+ = container_reg
%span.light.pull-right
= boolean_to_icon Gitlab.config.registry.enabled
diff --git a/app/views/projects/services/_index.html.haml b/app/views/projects/services/_index.html.haml
index 964133504e693f9670ef778bc326a3cb3ab11157..86d5a0ec7b821a3247184615c261c19e1473eb6f 100644
--- a/app/views/projects/services/_index.html.haml
+++ b/app/views/projects/services/_index.html.haml
@@ -18,7 +18,7 @@
%th Last edit
- @services.sort_by(&:title).each do |service|
%tr
- %td
+ %td{ "aria-label" => "#{service.title}: status " + (service.activated? ? "on" : "off") }
= boolean_to_icon service.activated?
%td
= link_to edit_namespace_project_service_path(@project.namespace, @project, service.to_param) do
diff --git a/changelogs/unreleased/27503-feature-status-aria-labels.yml b/changelogs/unreleased/27503-feature-status-aria-labels.yml
new file mode 100644
index 0000000000000000000000000000000000000000..f514fd5b631c82986ff5b9312b92deda3a2b69d0
--- /dev/null
+++ b/changelogs/unreleased/27503-feature-status-aria-labels.yml
@@ -0,0 +1,4 @@
+---
+title: Add `aria-label` for feature status accessibility
+merge_request: 9830
+author: