diff --git a/app/views/notify/pipeline_failed_email.html.haml b/app/views/notify/pipeline_failed_email.html.haml
index 001d9c48555aba9834b3709a4def8b75863dff2a..751f81db1cbf7c4c4a7ae2a57ac9b3d854303aba 100644
--- a/app/views/notify/pipeline_failed_email.html.haml
+++ b/app/views/notify/pipeline_failed_email.html.haml
@@ -90,7 +90,7 @@
                                       %tbody
                                         %tr
                                           %td{style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:15px;line-height:1.4;vertical-align:middle;padding-right:5px;"}
-                                            %img{height: "13", src: image_url('mailers/ci_pipeline_notif_v1/icon-branch-gray.gif'), style: "display:block;", width: "13"}/
+                                            %img{height: "13", src: image_url('mailers/ci_pipeline_notif_v1/icon-branch-gray.gif'), style: "display:block;", width: "13", alt: "Branch icon"}/
                                           %td{style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:15px;line-height:1.4;vertical-align:middle;"}
                                             %a.muted{href: commits_url(@pipeline), style: "color:#333333;text-decoration:none;"}
                                               = @pipeline.ref
@@ -101,7 +101,7 @@
                                       %tbody
                                         %tr
                                           %td{style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:15px;line-height:1.4;vertical-align:middle;padding-right:5px;"}
-                                            %img{height: "13", src: image_url('mailers/ci_pipeline_notif_v1/icon-commit-gray.gif'), style: "display:block;", width: "13"}/
+                                            %img{height: "13", src: image_url('mailers/ci_pipeline_notif_v1/icon-commit-gray.gif'), style: "display:block;", width: "13", alt: "Commit icon"}/
                                           %td{style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:15px;line-height:1.4;vertical-align:middle;"}
                                             %a{href: commit_url(@pipeline), style: "color:#3777b0;text-decoration:none;"}
                                               = @pipeline.short_sha
@@ -119,7 +119,7 @@
                                         %tr
                                           - commit = @pipeline.commit
                                           %td{style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:15px;line-height:1.4;vertical-align:middle;padding-right:5px;"}
-                                            %img.avatar{height: "24", src: avatar_icon(commit.author || commit.author_email, 24), style: "display:block;border-radius:12px;margin:-2px 0;", width: "24"}/
+                                            %img.avatar{height: "24", src: avatar_icon(commit.author || commit.author_email, 24), style: "display:block;border-radius:12px;margin:-2px 0;", width: "24", alt: "Avatar"}/
                                           %td{style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:15px;line-height:1.4;vertical-align:middle;"}
                                             - if commit.author
                                               %a.muted{href: user_url(commit.author), style: "color:#333333;text-decoration:none;"}
diff --git a/app/views/notify/pipeline_success_email.html.haml b/app/views/notify/pipeline_success_email.html.haml
index 56c1949ab2b93cc13542069a261a0315fd1deebe..d64232ca8f29e456c681f140b724585c3e88fb8b 100644
--- a/app/views/notify/pipeline_success_email.html.haml
+++ b/app/views/notify/pipeline_success_email.html.haml
@@ -90,7 +90,7 @@
                                       %tbody
                                         %tr
                                           %td{style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:15px;line-height:1.4;vertical-align:middle;padding-right:5px;"}
-                                            %img{height: "13", src: image_url('mailers/ci_pipeline_notif_v1/icon-branch-gray.gif'), style: "display:block;", width: "13"}/
+                                            %img{height: "13", src: image_url('mailers/ci_pipeline_notif_v1/icon-branch-gray.gif'), style: "display:block;", width: "13", alt: "Branch icon"}/
                                           %td{style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:15px;line-height:1.4;vertical-align:middle;"}
                                             %a.muted{href: commits_url(@pipeline), style: "color:#333333;text-decoration:none;"}
                                               = @pipeline.ref
@@ -101,7 +101,7 @@
                                       %tbody
                                         %tr
                                           %td{style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:15px;line-height:1.4;vertical-align:middle;padding-right:5px;"}
-                                            %img{height: "13", src: image_url('mailers/ci_pipeline_notif_v1/icon-commit-gray.gif'), style: "display:block;", width: "13"}/
+                                            %img{height: "13", src: image_url('mailers/ci_pipeline_notif_v1/icon-commit-gray.gif'), style: "display:block;", width: "13", alt: "Commit icon"}/
                                           %td{style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:15px;line-height:1.4;vertical-align:middle;"}
                                             %a{href: commit_url(@pipeline), style: "color:#3777b0;text-decoration:none;"}
                                               = @pipeline.short_sha
@@ -119,7 +119,7 @@
                                         %tr
                                           - commit = @pipeline.commit
                                           %td{style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:15px;line-height:1.4;vertical-align:middle;padding-right:5px;"}
-                                            %img.avatar{height: "24", src: avatar_icon(commit.author || commit.author_email, 24), style: "display:block;border-radius:12px;margin:-2px 0;", width: "24"}/
+                                            %img.avatar{height: "24", src: avatar_icon(commit.author || commit.author_email, 24), style: "display:block;border-radius:12px;margin:-2px 0;", width: "24", alt: "Avatar"}/
                                           %td{style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:15px;line-height:1.4;vertical-align:middle;"}
                                             - if commit.author
                                               %a.muted{href: user_url(commit.author), style: "color:#333333;text-decoration:none;"}
diff --git a/app/views/profiles/show.html.haml b/app/views/profiles/show.html.haml
index 578af9fe98dd6c29db50201338dc34159a52f540..859273ae94ae6adc5a8fe5e52142a62760a4ef6c 100644
--- a/app/views/profiles/show.html.haml
+++ b/app/views/profiles/show.html.haml
@@ -108,7 +108,7 @@
           Position and size your new avatar
       .modal-body
         .profile-crop-image-container
-          %img.modal-profile-crop-image
+          %img.modal-profile-crop-image{ alt: "Avatar cropper" }
         .crop-controls
           .btn-group
             %button.btn.btn-primary{ data: { method: "zoom", option: "0.1" } }
diff --git a/app/views/projects/blob/_image.html.haml b/app/views/projects/blob/_image.html.haml
index 4c356d1f07f26be1093662ce622b45f6505bdb19..3d47351cec8f0720ec56065dca0f1fb455557bc8 100644
--- a/app/views/projects/blob/_image.html.haml
+++ b/app/views/projects/blob/_image.html.haml
@@ -5,11 +5,11 @@
       - # be wrong/strange if RawController modified the data.
       - blob.load_all_data!(@repository)
       - blob = sanitize_svg(blob)
-      %img{src: "data:#{blob.mime_type};base64,#{Base64.encode64(blob.data)}"}
+      %img{src: "data:#{blob.mime_type};base64,#{Base64.encode64(blob.data)}", alt: "#{blob.name}"}
     - else
       .nothing-here-block
         The SVG could not be displayed as it is too large, you can
         #{link_to('view the raw file', namespace_project_raw_path(@project.namespace, @project, @id), target: '_blank')}
         instead.
   - else
-    %img{src: namespace_project_raw_path(@project.namespace, @project, tree_join(@commit.id, blob.path))}
+    %img{src: namespace_project_raw_path(@project.namespace, @project, tree_join(@commit.id, blob.path)), alt: "#{blob.name}"}
diff --git a/app/views/projects/boards/components/_card.html.haml b/app/views/projects/boards/components/_card.html.haml
index 1f31496e73fd7bba9bccbea3583c04b8bcac3870..e4c2aff46ecb34ee72f10713fd99069057ff6a2b 100644
--- a/app/views/projects/boards/components/_card.html.haml
+++ b/app/views/projects/boards/components/_card.html.haml
@@ -17,7 +17,7 @@
       ":title" => '"Assigned to " + issue.assignee.name',
       "v-if" => "issue.assignee",
       data: { container: 'body' } }
-      %img.avatar.avatar-inline.s20{ ":src" => "issue.assignee.avatar", width: 20, height: 20 }
+      %img.avatar.avatar-inline.s20{ ":src" => "issue.assignee.avatar", width: 20, height: 20, alt: "Avatar" }
     %button.label.color-label.has-tooltip{ "v-for" => "label in issue.labels",
       type: "button",
       "v-if" => "(!list.label || label.id !== list.label.id)",
diff --git a/app/views/projects/boards/components/sidebar/_assignee.html.haml b/app/views/projects/boards/components/sidebar/_assignee.html.haml
index 8fe1b832071e04ab3d4150bd415f7962b71a3b66..e75ce305440c19776b8ecd2db676294308e14d4f 100644
--- a/app/views/projects/boards/components/sidebar/_assignee.html.haml
+++ b/app/views/projects/boards/components/sidebar/_assignee.html.haml
@@ -14,7 +14,7 @@
     %a.author_link.bold{ ":href" => "'#{root_url}' + issue.assignee.username",
       "v-if" => "issue.assignee" }
       %img.avatar.avatar-inline.s32{ ":src" => "issue.assignee.avatar",
-        width: "32" }
+        width: "32", alt: "Avatar" }
       %span.author
         {{ issue.assignee.name }}
       %span.username
diff --git a/app/views/projects/diffs/_image.html.haml b/app/views/projects/diffs/_image.html.haml
index 9ec6a7aa5cd7a604abc3101d8e536b16f50b5373..28fee887f4d265235f309cb2160418b6096dce2b 100644
--- a/app/views/projects/diffs/_image.html.haml
+++ b/app/views/projects/diffs/_image.html.haml
@@ -8,7 +8,7 @@
   .image
     %span.wrap
       .frame{class: image_diff_class(diff)}
-        %img{src: diff.deleted_file ? old_file_raw_path : file_raw_path}
+        %img{src: diff.deleted_file ? old_file_raw_path : file_raw_path, alt: diff.new_path}
       %p.image-info= "#{number_to_human_size file.size}"
 - else
   .image
@@ -16,7 +16,7 @@
       %span.wrap
         .frame.deleted
           %a{href: namespace_project_blob_path(@project.namespace, @project, tree_join(diff_file.old_ref, diff.old_path))}
-            %img{src: old_file_raw_path}
+            %img{src: old_file_raw_path, alt: diff.old_path}
         %p.image-info.hide
           %span.meta-filesize= "#{number_to_human_size old_file.size}"
           |
@@ -28,7 +28,7 @@
       %span.wrap
         .frame.added
           %a{href: namespace_project_blob_path(@project.namespace, @project, tree_join(diff_file.new_ref, diff.new_path))}
-            %img{src: file_raw_path}
+            %img{src: file_raw_path, alt: diff.new_path}
         %p.image-info.hide
           %span.meta-filesize= "#{number_to_human_size file.size}"
           |
@@ -41,10 +41,10 @@
     %div.swipe.view.hide
       .swipe-frame
         .frame.deleted
-          %img{src: old_file_raw_path}
+          %img{src: old_file_raw_path, alt: diff.old_path}
         .swipe-wrap
           .frame.added
-            %img{src: file_raw_path}
+            %img{src: file_raw_path, alt: diff.new_path}
         %span.swipe-bar
           %span.top-handle
           %span.bottom-handle
@@ -52,9 +52,9 @@
     %div.onion-skin.view.hide
       .onion-skin-frame
         .frame.deleted
-          %img{src: old_file_raw_path}
+          %img{src: old_file_raw_path, alt: diff.old_path}
         .frame.added
-          %img{src: file_raw_path}
+          %img{src: file_raw_path, alt: diff.new_path}
         .controls
           .transparent
           .drag-track