diff --git a/app/views/projects/ci/pipelines/_pipeline.html.haml b/app/views/projects/ci/pipelines/_pipeline.html.haml
index 220543ecc31b538a6c5e915792a1f0ee439669f9..6ce586cc8f63beab6f9b886901b382c4303c2a08 100644
--- a/app/views/projects/ci/pipelines/_pipeline.html.haml
+++ b/app/views/projects/ci/pipelines/_pipeline.html.haml
@@ -78,9 +78,9 @@
         .btn-group.inline
           - if actions.any?
             .btn-group
-              %a.dropdown-toggle.btn.btn-default.js-pipeline-dropdown-manual-actions{ type: 'button', 'data-toggle' => 'dropdown' }
+              %button.dropdown-toggle.btn.btn-default.js-pipeline-dropdown-manual-actions{ type: 'button', 'data-toggle' => 'dropdown' }
                 = custom_icon('icon_play')
-                = icon('caret-down')
+                = icon('caret-down', 'aria-hidden' => 'true')
               %ul.dropdown-menu.dropdown-menu-align-right
                 - actions.each do |build|
                   %li
diff --git a/changelogs/unreleased/26445-make-icon-buttons-accessible-via-keyboard.yml b/changelogs/unreleased/26445-make-icon-buttons-accessible-via-keyboard.yml
new file mode 100644
index 0000000000000000000000000000000000000000..b4aef8fe3da28e50671f1c43e07ed91deb6ab54d
--- /dev/null
+++ b/changelogs/unreleased/26445-make-icon-buttons-accessible-via-keyboard.yml
@@ -0,0 +1,4 @@
+---
+title: Make play button on Pipelines page accessible via keyboard
+merge_request:
+author: Ryan Harris