From 36c867c42ab5e2c983764496ecb0e83f0a4dc1c9 Mon Sep 17 00:00:00 2001
From: ssemenova <ssemenova@edx.org>
Date: Wed, 25 May 2016 14:06:36 -0400
Subject: [PATCH] changed icon html from <i> to <span>

TNL-4651
---
 .../discussion_thread_list_view_spec.coffee   |  2 +-
 .../static/coffee/src/discussion/utils.coffee |  2 +-
 .../components/paging-footer.underscore       |  4 +--
 .../components/search-field.underscore        |  2 +-
 .../components/system-feedback.underscore     |  4 +--
 .../discussion/forum-action-answer.underscore |  2 +-
 .../discussion/forum-action-close.underscore  |  2 +-
 .../discussion/forum-action-delete.underscore |  2 +-
 .../discussion/forum-action-edit.underscore   |  2 +-
 .../forum-action-endorse.underscore           |  2 +-
 .../discussion/forum-action-follow.underscore |  2 +-
 .../discussion/forum-action-pin.underscore    |  2 +-
 .../discussion/forum-action-report.underscore |  2 +-
 .../discussion/forum-action-vote.underscore   |  2 +-
 .../discussion/forum-actions.underscore       |  2 +-
 .../response-comment-show.underscore          |  2 +-
 .../discussion/search-alert.underscore        |  3 +-
 .../discussion/thread-list-item.underscore    | 10 +++----
 .../thread-response-show.underscore           |  2 +-
 .../discussion/thread-response.underscore     |  2 +-
 .../discussion/thread-show.underscore         |  6 ++--
 .../templates/discussion/thread.underscore    |  2 +-
 .../common/templates/image-modal.underscore   | 10 +++----
 common/test/acceptance/pages/lms/fields.py    |  2 +-
 .../teams/static/teams/js/views/topic_card.js |  2 +-
 .../teams/templates/team-profile.underscore   |  6 ++--
 .../instructor_dashboard/membership.coffee    |  2 +-
 .../js/bookmarks/views/bookmarks_list.js      |  4 +--
 lms/static/js/fixtures/ccx/schedule.html      |  2 +-
 .../js/fixtures/dashboard/dashboard.html      | 16 +++++------
 lms/static/js/fixtures/discovery.html         |  4 +--
 lms/static/js/fixtures/edxnotes/edxnotes.html |  4 +--
 .../js/fixtures/edxnotes/toggle_notes.html    |  2 +-
 .../fixtures/search/course_search_form.html   |  6 ++--
 .../search/dashboard_search_form.html         |  4 +--
 .../student_profile/student_profile.html      |  5 ++--
 .../courseware/bookmarks_list_view_spec.js    |  2 +-
 .../js/spec/shoppingcart/shoppingcart_spec.js |  2 +-
 .../learner_profile_fields_spec.js            |  4 +--
 lms/static/js/views/fields.js                 | 12 ++++----
 lms/static/js/views/image_field.js            |  6 ++--
 .../bookmarks/bookmarks-list.underscore       |  6 ++--
 lms/templates/ccx/enrollment.html             |  2 +-
 lms/templates/ccx/grading_policy.html         |  2 +-
 lms/templates/ccx/schedule.html               |  2 +-
 lms/templates/ccx/schedule.underscore         | 16 +++++------
 .../certificates/_accomplishment-banner.html  |  8 +++---
 lms/templates/certificates/_badges-modal.html |  2 +-
 lms/templates/commerce/checkout_receipt.html  |  3 +-
 lms/templates/course.html                     |  2 +-
 lms/templates/course_modes/choose.html        |  2 +-
 lms/templates/courseware/course_about.html    | 16 +++++------
 .../course_about_sidebar_header.html          |  6 ++--
 lms/templates/courseware/courses.html         |  6 ++--
 lms/templates/courseware/courseware.html      |  6 ++--
 lms/templates/courseware/progress.html        | 10 +++----
 lms/templates/dashboard.html                  | 12 ++++----
 .../dashboard/_dashboard_course_listing.html  | 10 +++----
 .../dashboard/_dashboard_xseries_info.html    |  2 +-
 .../discovery/course_card.underscore          |  2 +-
 lms/templates/discovery/filter.underscore     |  2 +-
 lms/templates/edxnotes/edxnotes.html          |  4 +--
 lms/templates/edxnotes/tab-item.underscore    |  4 +--
 lms/templates/edxnotes/toggle_notes.html      |  2 +-
 .../fields/field_dropdown.underscore          |  2 +-
 lms/templates/forgot_password_modal.html      |  2 +-
 lms/templates/help_modal.html                 |  6 ++--
 lms/templates/index.html                      |  2 +-
 .../add_coupon_modal.html                     |  2 +-
 .../instructor_dashboard_2/certificates.html  |  4 +--
 .../cohort-editor.underscore                  |  2 +-
 .../cohort-form.underscore                    |  6 ++--
 .../instructor_dashboard_2/cohorts.underscore |  4 +--
 .../edit_coupon_modal.html                    |  2 +-
 .../generate_registarion_codes_modal.html     |  2 +-
 .../invalidate_registration_code_modal.html   |  2 +-
 .../instructor_dashboard_2/metrics.html       |  4 +--
 .../notification.underscore                   |  2 +-
 .../set_course_mode_price_modal.html          |  2 +-
 .../explore_new_programs.underscore           |  2 +-
 lms/templates/lti.html                        |  2 +-
 .../modal/_modal-settings-language.html       |  2 +-
 lms/templates/modal/accessible_confirm.html   |  2 +-
 lms/templates/navigation.html                 |  2 +-
 .../search/course_search_item.underscore      |  2 +-
 .../search/course_search_results.underscore   |  2 +-
 .../search/dashboard_search_item.underscore   |  2 +-
 .../dashboard_search_results.underscore       |  2 +-
 .../search/search_loading.underscore          |  2 +-
 lms/templates/seq_module.html                 |  4 +--
 .../shoppingcart/cybersource_form.html        |  2 +-
 lms/templates/shoppingcart/receipt.html       |  4 +--
 .../registration_code_receipt.html            |  4 +--
 .../registration_code_redemption.html         |  4 +--
 lms/templates/shoppingcart/shopping_cart.html | 12 ++++----
 lms/templates/signup_modal.html               |  2 +-
 .../account_settings_section.underscore       |  4 +--
 .../student_profile/learner_profile.html      |  2 +-
 .../learner_profile.underscore                |  2 +-
 .../student_profile/share_modal.underscore    |  2 +-
 .../student_profile/third_party_auth.html     |  4 +--
 lms/templates/verify_student/error.underscore |  2 +-
 .../verify_student/face_photo_step.underscore |  4 +--
 .../verify_student/id_photo_step.underscore   |  2 +-
 .../incourse_reverify.underscore              |  2 +-
 .../verify_student/intro_step.underscore      |  8 +++---
 .../make_payment_step.underscore              |  8 +++---
 .../make_payment_step_ab_testing.underscore   |  4 +--
 .../payment_confirmation_step.underscore      |  8 +++---
 .../verify_student/webcam_photo.underscore    |  2 +-
 lms/templates/wiki/create.html                |  4 +--
 lms/templates/wiki/delete.html                |  4 +--
 lms/templates/wiki/edit.html                  | 12 ++++----
 lms/templates/wiki/history.html               | 28 +++++++++----------
 lms/templates/wiki/includes/article_menu.html | 10 +++----
 lms/templates/wiki/includes/breadcrumbs.html  |  2 +-
 lms/templates/wiki/includes/cheatsheet.html   |  2 +-
 themes/edx.org/lms/templates/dashboard.html   | 12 ++++----
 118 files changed, 253 insertions(+), 254 deletions(-)

diff --git a/common/static/coffee/spec/discussion/view/discussion_thread_list_view_spec.coffee b/common/static/coffee/spec/discussion/view/discussion_thread_list_view_spec.coffee
index 740bc7ec2b9..951659735aa 100644
--- a/common/static/coffee/spec/discussion/view/discussion_thread_list_view_spec.coffee
+++ b/common/static/coffee/spec/discussion/view/discussion_thread_list_view_spec.coffee
@@ -32,7 +32,7 @@ describe "DiscussionThreadListView", ->
                         <a href="#" class="forum-nav-browse-title">All Discussions</a>
                     </li>
                     <li class="forum-nav-browse-menu-item forum-nav-browse-menu-following">
-                        <a href="#" class="forum-nav-browse-title"><i class="icon fa fa-star"></i>Posts I'm Following</a>
+                        <a href="#" class="forum-nav-browse-title"><span class="icon fa fa-star" aria-hidden="true"></span>Posts I'm Following</a>
                     </li>
                     <li class="forum-nav-browse-menu-item">
                         <a href="#" class="forum-nav-browse-title">Parent</a>
diff --git a/common/static/coffee/src/discussion/utils.coffee b/common/static/coffee/src/discussion/utils.coffee
index 976966d525a..06f1667e139 100644
--- a/common/static/coffee/src/discussion/utils.coffee
+++ b/common/static/coffee/src/discussion/utils.coffee
@@ -113,7 +113,7 @@ class @DiscussionUtil
       alertDiv = $("<div class='modal' role='alertdialog' id='discussion-alert' aria-describedby='discussion-alert-message'/>").css("display", "none")
       alertDiv.html(
         "<div class='inner-wrapper discussion-alert-wrapper'>" +
-        "  <button class='close-modal dismiss' aria-hidden='true'><i class='icon fa fa-times'></i></button>" +
+        "  <button class='close-modal dismiss' title='" + gettext("Close") + "'><span class='icon fa fa-times' aria-hidden='true'></span></button>" +
         "  <header><h2/><hr/></header>" +
         "  <p id='discussion-alert-message'/>" +
         "  <hr/>" +
diff --git a/common/static/common/templates/components/paging-footer.underscore b/common/static/common/templates/components/paging-footer.underscore
index 28c34b61780..87fbcc064d2 100644
--- a/common/static/common/templates/components/paging-footer.underscore
+++ b/common/static/common/templates/components/paging-footer.underscore
@@ -1,5 +1,5 @@
 <nav class="pagination pagination-full bottom" aria-label="<%= paginationLabel %>">
-    <div class="nav-item previous"><button class="nav-link previous-page-link"><i class="icon fa fa-angle-left" aria-hidden="true"></i> <span class="nav-label"><%= gettext("Previous") %></span></button></div>
+    <div class="nav-item previous"><button class="nav-link previous-page-link"><span class="icon fa fa-angle-left" aria-hidden="true"></span> <span class="nav-label"><%= gettext("Previous") %></span></button></div>
     <div class="nav-item page">
         <div class="pagination-form">
             <label class="page-number-label" for="page-number-input"><%= interpolate(
@@ -16,5 +16,5 @@
         <span class="page-divider" aria-hidden="true">/</span>
         <span class="total-pages"><%= total_pages %></span>
     </div>
-    <div class="nav-item next"><button class="nav-link next-page-link"><span class="nav-label"><%= gettext("Next") %></span> <i class="icon fa fa-angle-right" aria-hidden="true"></i></button></div>
+    <div class="nav-item next"><button class="nav-link next-page-link"><span class="nav-label"><%= gettext("Next") %></span> <span class="icon fa fa-angle-right" aria-hidden="true"></span></button></div>
 </nav>
diff --git a/common/static/common/templates/components/search-field.underscore b/common/static/common/templates/components/search-field.underscore
index 6187a84a559..f47f2d9847e 100644
--- a/common/static/common/templates/components/search-field.underscore
+++ b/common/static/common/templates/components/search-field.underscore
@@ -4,7 +4,7 @@
             <label for="search-<%- type %>" class="search-label"><%- searchLabel %></label>
             <input id="search-<%- type %>" class="search-field" type="text" value="<%- searchString %>" placeholder="<%- searchLabel %>" />
             <button type="button" class="action action-clear <%- searchLabel ? '' : 'is-hidden' %>" aria-label="<%- gettext('Clear search') %>">
-                <i class="icon fa fa-times-circle" aria-hidden="true"></i><span class="sr"><%- gettext('Search') %></span>
+                <span class="icon fa fa-times-circle" aria-hidden="true"></span><span class="sr"><%- gettext('Search') %></span>
             </button>
         </div>
         <button type="submit" class="action action-search"><span class="icon fa-search" aria-hidden="true"></span><span class="sr"><%- gettext('Search') %></span></button>
diff --git a/common/static/common/templates/components/system-feedback.underscore b/common/static/common/templates/components/system-feedback.underscore
index e33e3149eb6..9168abc9d55 100644
--- a/common/static/common/templates/components/system-feedback.underscore
+++ b/common/static/common/templates/components/system-feedback.underscore
@@ -11,7 +11,7 @@
   <div class="<%= type %> <%= intent %> <% if(obj.actions) { %>has-actions<% } %>">
     <% if(obj.icon) { %>
       <% var iconClass = {"warning": "warning", "confirmation": "check", "error": "warning", "announcement": "bullhorn", "step-required": "exclamation-circle", "help": "question", "mini": "cog"} %>
-      <i class="feedback-symbol fa fa-<%= iconClass[intent] %>"></i>
+      <span class="feedback-symbol fa fa-<%= iconClass[intent] %>" aria-hidden="true"></span>
     <% } %>
 
     <div class="copy">
@@ -40,7 +40,7 @@
 
     <% if(obj.closeIcon) { %>
     <a href="#" rel="view" class="action action-close action-<%= type %>-close">
-      <i class="icon fa fa-times-circle"></i>
+      <span class="icon fa fa-times-circle" aria-hidden="true"></span>
       <span class="label">close <%= type %></span>
     </a>
     <% } %>
diff --git a/common/static/common/templates/discussion/forum-action-answer.underscore b/common/static/common/templates/discussion/forum-action-answer.underscore
index fedccc76f4d..e9be427e7a9 100644
--- a/common/static/common/templates/discussion/forum-action-answer.underscore
+++ b/common/static/common/templates/discussion/forum-action-answer.underscore
@@ -5,6 +5,6 @@
             <span class="label-unchecked"><%- gettext("Mark as Answer") %></span>
             <span class="label-checked"><%- gettext("Unmark as Answer") %></span>
         </span>
-        <span class="action-icon"><i class="icon fa fa-check"></i></span>
+        <span class="action-icon"><span class="icon fa fa-check" aria-hidden="true"></span></span>
     </a>
 </li>
diff --git a/common/static/common/templates/discussion/forum-action-close.underscore b/common/static/common/templates/discussion/forum-action-close.underscore
index 61fd9af230b..f32319d601b 100644
--- a/common/static/common/templates/discussion/forum-action-close.underscore
+++ b/common/static/common/templates/discussion/forum-action-close.underscore
@@ -6,7 +6,7 @@
             <span class="label-checked"><%- gettext("Open") %></span>
         </span>
         <span class="action-icon">
-          <i class="icon fa fa-lock"></i>
+          <span class="icon fa fa-lock" aria-hidden="true"></span>
         </span>
     </a>
 </li>
diff --git a/common/static/common/templates/discussion/forum-action-delete.underscore b/common/static/common/templates/discussion/forum-action-delete.underscore
index facf308c611..c779936f4ac 100644
--- a/common/static/common/templates/discussion/forum-action-delete.underscore
+++ b/common/static/common/templates/discussion/forum-action-delete.underscore
@@ -1,6 +1,6 @@
 <li class="actions-item">
     <a href="javascript:void(0)" class="action-list-item action-delete" role="button">
         <span class="action-label"><%- gettext("Delete") %></span>
-        <span class="action-icon"><i class="icon fa fa-remove"></i></span>
+        <span class="action-icon"><span class="icon fa fa-remove" aria-hidden="true"></span></span>
     </a>
 </li>
diff --git a/common/static/common/templates/discussion/forum-action-edit.underscore b/common/static/common/templates/discussion/forum-action-edit.underscore
index 1a67c97d90e..7c67830faff 100644
--- a/common/static/common/templates/discussion/forum-action-edit.underscore
+++ b/common/static/common/templates/discussion/forum-action-edit.underscore
@@ -1,6 +1,6 @@
 <li class="actions-item">
     <a href="javascript:void(0)" class="action-list-item action-edit" role="button">
         <span class="action-label"><%- gettext("Edit") %></span>
-        <span class="action-icon"><i class="icon fa fa-pencil"></i></span>
+        <span class="action-icon"><span class="icon fa fa-pencil" aria-hidden="true"></span></span>
     </a>
 </li>
diff --git a/common/static/common/templates/discussion/forum-action-endorse.underscore b/common/static/common/templates/discussion/forum-action-endorse.underscore
index dfa400bffce..774004a4f5a 100644
--- a/common/static/common/templates/discussion/forum-action-endorse.underscore
+++ b/common/static/common/templates/discussion/forum-action-endorse.underscore
@@ -5,6 +5,6 @@
             <span class="label-unchecked"><%- gettext("Endorse") %></span>
             <span class="label-checked"><%- gettext("Unendorse") %></span>
         </span>
-        <span class="action-icon"><i class="icon fa fa-check"></i></span>
+        <span class="action-icon"><span class="icon fa fa-check" aria-hidden="true"></span></span>
     </a>
 </li>
diff --git a/common/static/common/templates/discussion/forum-action-follow.underscore b/common/static/common/templates/discussion/forum-action-follow.underscore
index c4adc7aa9f9..709cf36cb98 100644
--- a/common/static/common/templates/discussion/forum-action-follow.underscore
+++ b/common/static/common/templates/discussion/forum-action-follow.underscore
@@ -5,6 +5,6 @@
             <span class="label-unchecked"><%- gettext("Follow") %></span>
             <span class="label-checked"><%- gettext("Unfollow") %></span>
         </span>
-        <span class="action-icon"><i class="icon fa fa-star"></i></span>
+        <span class="action-icon"><span class="icon fa fa-star" aria-hidden="true"></span></span>
     </a>
 </li>
diff --git a/common/static/common/templates/discussion/forum-action-pin.underscore b/common/static/common/templates/discussion/forum-action-pin.underscore
index a4b3117bcd5..f853f2461fa 100644
--- a/common/static/common/templates/discussion/forum-action-pin.underscore
+++ b/common/static/common/templates/discussion/forum-action-pin.underscore
@@ -6,7 +6,7 @@
             <span class="label-checked"><%- gettext("Unpin") %></span>
         </span>
         <span class="action-icon">
-          <i class="icon fa fa-thumb-tack"></i>
+          <span class="icon fa fa-thumb-tack" aria-hidden="true"></span>
         </span>
     </a>
 </li>
diff --git a/common/static/common/templates/discussion/forum-action-report.underscore b/common/static/common/templates/discussion/forum-action-report.underscore
index dfc52eaa7b9..626f52f3eb9 100644
--- a/common/static/common/templates/discussion/forum-action-report.underscore
+++ b/common/static/common/templates/discussion/forum-action-report.underscore
@@ -6,7 +6,7 @@
             <span class="label-checked"><%- gettext("Unreport") %></span>
         </span>
         <span class="action-icon">
-          <i class="icon fa fa-flag"></i>
+          <span class="icon fa fa-flag" aria-hidden="true"></span>
         </span>
     </a>
 </li>
diff --git a/common/static/common/templates/discussion/forum-action-vote.underscore b/common/static/common/templates/discussion/forum-action-vote.underscore
index a9cb2dcdc7b..b8186291aa2 100644
--- a/common/static/common/templates/discussion/forum-action-vote.underscore
+++ b/common/static/common/templates/discussion/forum-action-vote.underscore
@@ -12,7 +12,7 @@
         </span>
 
         <span class="action-icon" aria-hidden="true">
-            <i class="icon fa fa-plus"></i>
+            <span class="icon fa fa-plus" aria-hidden="true"></span>
         </span>
     </a>
 </li>
diff --git a/common/static/common/templates/discussion/forum-actions.underscore b/common/static/common/templates/discussion/forum-actions.underscore
index ac637a0bca9..9b4b0eaedf7 100644
--- a/common/static/common/templates/discussion/forum-actions.underscore
+++ b/common/static/common/templates/discussion/forum-actions.underscore
@@ -5,7 +5,7 @@
             <div class="more-wrapper">
                 <a href="javascript:void(0)" class="action-button action-more" role="button" aria-haspopup="true" aria-controls="action-menu-<%= contentId %>">
                     <span class="action-label"><%- gettext("More") %></span>
-                    <span class="action-icon"><i class="icon fa fa-ellipsis-h"></i></span>
+                    <span class="action-icon"><span class="icon fa fa-ellipsis-h" aria-hidden="true"></span></span>
                 </a>
                 <div class="actions-dropdown" id="action-menu-<%= contentType %>" aria-expanded="false">
                   <ul class="actions-dropdown-list">
diff --git a/common/static/common/templates/discussion/response-comment-show.underscore b/common/static/common/templates/discussion/response-comment-show.underscore
index 1f3f7c54750..076ca7f315b 100644
--- a/common/static/common/templates/discussion/response-comment-show.underscore
+++ b/common/static/common/templates/discussion/response-comment-show.underscore
@@ -28,6 +28,6 @@
     ) %>
   </p>
   <div class="post-labels">
-    <span class="post-label-reported"><i class="icon fa fa-flag"></i><%- gettext("Reported") %></span>
+    <span class="post-label-reported"><span class="icon fa fa-flag" aria-hidden="true"></span><%- gettext("Reported") %></span>
   </div>
 </div>
diff --git a/common/static/common/templates/discussion/search-alert.underscore b/common/static/common/templates/discussion/search-alert.underscore
index e75fc65cfd5..74e908b9ee6 100644
--- a/common/static/common/templates/discussion/search-alert.underscore
+++ b/common/static/common/templates/discussion/search-alert.underscore
@@ -4,6 +4,7 @@
     </div>
 
     <div class="search-alert-controls">
-      <a href="#" class="dismiss control control-dismiss"><i class="icon fa fa-remove"></i></a>
+      <a href="#" class="dismiss control control-dismiss"><span class="icon fa fa-remove" aria-hidden="true"></span>
+      <span class="sr"><%- gettext("Close") %></span></a>
     </div>
 </div>
diff --git a/common/static/common/templates/discussion/thread-list-item.underscore b/common/static/common/templates/discussion/thread-list-item.underscore
index 8e271cd1fd7..7fa664fdd3d 100644
--- a/common/static/common/templates/discussion/thread-list-item.underscore
+++ b/common/static/common/templates/discussion/thread-list-item.underscore
@@ -18,7 +18,7 @@
       }
       %>
       <span class="sr"><%= sr_text %></span>
-      <i class="icon fa <%= icon_class %>"></i>
+      <span class="icon fa <%= icon_class %>" aria-hidden="true"></span>
     </div><div class="forum-nav-thread-wrapper-1">
       <span class="forum-nav-thread-title"><%- title %></span>
       <% if(typeof(subscribed) === "undefined") { var subscribed = null; } %>
@@ -26,28 +26,28 @@
         <ul class="forum-nav-thread-labels">
         <% if (pinned) { %>
           <li class="post-label-pinned">
-            <i class="icon fa fa-thumb-tack"></i>
+            <span class="icon fa fa-thumb-tack" aria-hidden="true"></span>
             <% // Translators: This is a label for a forum thread that has been pinned %>
             <%- gettext("Pinned") %>
           </li>
         <% } %>
         <% if (subscribed) { %>
           <li class="post-label-following">
-            <i class="icon fa fa-star"></i>
+            <span class="icon fa fa-star" aria-hidden="true"></span>
             <% // Translators: This is a label for a forum thread that the user is subscribed to %>
             <%- gettext("Following") %>
           </li>
         <% } %>
         <% if (staff_authored) { %>
           <li class="post-label-by-staff">
-            <i class="icon fa fa-user"></i>
+            <span class="icon fa fa-user" aria-hidden="true"></span>
             <% // Translators: This is a label for a forum thread that was authored by a member of the course staff %>
             <%- gettext("By: Staff") %>
           </li>
         <% } %>
         <% if (community_ta_authored) { %>
           <li class="post-label-by-community-ta">
-            <i class="icon fa fa-user"></i>
+            <span class="icon fa fa-user" aria-hidden="true"></span>
             <% // Translators: This is a label for a forum thread that was authored by a community TA %>
             <%- gettext("By: Community TA") %>
           </li>
diff --git a/common/static/common/templates/discussion/thread-response-show.underscore b/common/static/common/templates/discussion/thread-response-show.underscore
index 502cc4ee1b9..7bb88544e69 100644
--- a/common/static/common/templates/discussion/thread-response-show.underscore
+++ b/common/static/common/templates/discussion/thread-response-show.underscore
@@ -38,7 +38,7 @@
         <% } %>
       </p>
       <div class="post-labels">
-          <span class="post-label-reported"><i class="icon fa fa-flag"></i><%- gettext("Reported") %></span>
+          <span class="post-label-reported"><span class="icon fa fa-flag" aria-hidden="true"></span><%- gettext("Reported") %></span>
       </div>
       </div>
       <div class="response-header-actions">
diff --git a/common/static/common/templates/discussion/thread-response.underscore b/common/static/common/templates/discussion/thread-response.underscore
index 846819665d4..c4e9b404324 100644
--- a/common/static/common/templates/discussion/thread-response.underscore
+++ b/common/static/common/templates/discussion/thread-response.underscore
@@ -4,7 +4,7 @@
     var fmts = ngettext("Show Comment (%(num_comments)s)", "Show Comments (%(num_comments)s)", comments.length);
     print(interpolate(fmts, {num_comments: comments.length}, true));
     %>
-    <i class="icon fa fa-caret-down"></i>
+    <span class="icon fa fa-caret-down" aria-hidden="true"></span>
 </a>
 <ol class="comments">
     <li class="new-comment">
diff --git a/common/static/common/templates/discussion/thread-show.underscore b/common/static/common/templates/discussion/thread-show.underscore
index cd260bc2e81..4a2d7230afa 100644
--- a/common/static/common/templates/discussion/thread-show.underscore
+++ b/common/static/common/templates/discussion/thread-show.underscore
@@ -21,9 +21,9 @@
             %>
             </p>
             <div class="post-labels">
-                <span class="post-label-pinned"><i class="icon fa fa-thumb-tack"></i><%- gettext("Pinned") %></span>
-                <span class="post-label-reported"><i class="icon fa fa-flag"></i><%- gettext("Reported") %></span>
-                <span class="post-label-closed"><i class="icon fa fa-lock"></i><%- gettext("Closed") %></span>
+                <span class="post-label-pinned"><span class="icon fa fa-thumb-tack" aria-hidden="true"></span><%- gettext("Pinned") %></span>
+                <span class="post-label-reported"><span class="icon fa fa-flag" aria-hidden="true"></span><%- gettext("Reported") %></span>
+                <span class="post-label-closed"><span class="icon fa fa-lock" aria-hidden="true"></span><%- gettext("Closed") %></span>
             </div>
         </div>
         <% if (!readOnly) { %>
diff --git a/common/static/common/templates/discussion/thread.underscore b/common/static/common/templates/discussion/thread.underscore
index fea3d355170..a21f07a8a48 100644
--- a/common/static/common/templates/discussion/thread.underscore
+++ b/common/static/common/templates/discussion/thread.underscore
@@ -11,7 +11,7 @@
             <% if (!readOnly) { %>
                 <div class="add-response">
                     <button class="button add-response-btn">
-                        <i class="icon fa fa-reply"></i>
+                        <span class="icon fa fa-reply" aria-hidden="true"></span>
                         <span class="add-response-btn-text"><%- gettext("Add a Response") %></span>
                     </button>
                 </div>
diff --git a/common/static/common/templates/image-modal.underscore b/common/static/common/templates/image-modal.underscore
index f37520752a5..a863f0d14f8 100644
--- a/common/static/common/templates/image-modal.underscore
+++ b/common/static/common/templates/image-modal.underscore
@@ -3,7 +3,7 @@
     <%= smallHTML%>
     <a href="#" class="modal-ui-icon action-fullscreen" role="button">
       <span class="label">
-        <i class="icon fa fa-arrows-alt fa-large"></i> <%= gettext("Fullscreen") %>
+        <span class="icon fa fa-arrows-alt fa-large" aria-hidden="true"></span> <%- gettext("Fullscreen") %>
       </span>
     </a>
   </section>
@@ -11,12 +11,12 @@
   <section class="image-modal">
     <section class="image-content">
       <div class="image-wrapper">
-        <img alt="<%= largeALT %>, <%= gettext('Large') %>" src="<%= largeSRC %>" />
+        <img alt="<%= largeALT %>, <%- gettext('Large') %>" src="<%= largeSRC %>" />
       </div>
 
       <a href="#" class="modal-ui-icon action-close" role="button">
         <span class="label">
-          <i class="icon fa fa-remove fa-large"></i> <%= gettext("Close") %>
+          <span class="icon fa fa-remove fa-large" aria-hidden="true"></span> <%- gettext("Close") %>
         </span>
       </a>
 
@@ -24,7 +24,7 @@
         <li class="image-control">
           <a href="#" class="modal-ui-icon action-zoom-in" role="button">
             <span class="label">
-              <i class="icon fa fa fa-search-plus fa-large"></i> <%= gettext("Zoom In") %>
+              <span class="icon fa fa fa-search-plus fa-large" aria-hidden="true"></span> <%- gettext("Zoom In") %>
             </span>
           </a>
         </li>
@@ -32,7 +32,7 @@
         <li class="image-control">
           <a href="#" class="modal-ui-icon action-zoom-out is-disabled" aria-disabled="true" role="button">
             <span class="label">
-              <i class="icon fa fa fa-search-minus fa-large"></i> <%= gettext("Zoom Out") %>
+              <span class="icon fa fa fa-search-minus fa-large" aria-hidden="true"></span> <%- gettext("Zoom Out") %>
             </span>
           </a>
         </li>
diff --git a/common/test/acceptance/pages/lms/fields.py b/common/test/acceptance/pages/lms/fields.py
index 9b02729f1e5..a49c0732178 100644
--- a/common/test/acceptance/pages/lms/fields.py
+++ b/common/test/acceptance/pages/lms/fields.py
@@ -104,7 +104,7 @@ class FieldsMixin(object):
         """
         self.wait_for_field(field_id)
 
-        query = self.q(css='.u-field-{} .u-field-message i'.format(field_id))
+        query = self.q(css='.u-field-{} .u-field-message .fa'.format(field_id))
         return [
             class_name for class_name
             in query.attrs('class')[0].split(' ')
diff --git a/lms/djangoapps/teams/static/teams/js/views/topic_card.js b/lms/djangoapps/teams/static/teams/js/views/topic_card.js
index b1d5292dde5..81bffedd055 100644
--- a/lms/djangoapps/teams/static/teams/js/views/topic_card.js
+++ b/lms/djangoapps/teams/static/teams/js/views/topic_card.js
@@ -46,7 +46,7 @@
                         gettext('View Teams in the %(topic_name)s Topic'),
                         { topic_name: this.model.get('name') }, true
                     ));
-                    return '<span class="sr">' + screenReaderText + '</span><i class="icon fa fa-arrow-right" aria-hidden="true"></i>';
+                    return '<span class="sr">' + screenReaderText + '</span><span class="icon fa fa-arrow-right" aria-hidden="true"></span>'; // jshint ignore:line
                 }
             });
 
diff --git a/lms/djangoapps/teams/static/teams/templates/team-profile.underscore b/lms/djangoapps/teams/static/teams/templates/team-profile.underscore
index e3f902192ca..0013887a828 100644
--- a/lms/djangoapps/teams/static/teams/templates/team-profile.underscore
+++ b/lms/djangoapps/teams/static/teams/templates/team-profile.underscore
@@ -5,7 +5,7 @@
                 data-user-create-comment="<%- !readOnly %>"
                 data-user-create-subcomment="<%- !readOnly %>">
             <% if (!readOnly) { %>
-                <button type="button" class="btn new-post-btn"><i class="icon fa fa-edit new-post-icon" aria-hidden="true"></i><%- gettext("New Post") %></button>
+                <button type="button" class="btn new-post-btn"><span class="icon fa fa-edit new-post-icon" aria-hidden="true"></span><%- gettext("New Post") %></button>
             <% } %>
         </div>
     </div>
@@ -32,7 +32,7 @@
         <% if (country) { %>
             <div class="team-country">
                 <span class="sr"><%- gettext("The country that team members primarily identify with.") %></span>
-                <i class="icon fa fa-globe fa-fw" aria-hidden="true"></i>
+                <span class="icon fa fa-globe fa-fw" aria-hidden="true"></span>
                 <span>
                     <%- gettext(country) %>
                 </span>
@@ -41,7 +41,7 @@
         <% if (language) { %>
             <div class="team-language">
                 <span class="sr"><%- gettext("The language that team members primarily use to communicate with each other.") %></span>
-                <i class="icon fa fa-comment-o fa-fw" aria-hidden="true"></i>
+                <span class="icon fa fa-comment-o fa-fw" aria-hidden="true"></span>
                 <span>
                     <%- gettext(language) %>
                 </span>
diff --git a/lms/static/coffee/src/instructor_dashboard/membership.coffee b/lms/static/coffee/src/instructor_dashboard/membership.coffee
index 73f5023c8ae..8888f6b8566 100644
--- a/lms/static/coffee/src/instructor_dashboard/membership.coffee
+++ b/lms/static/coffee/src/instructor_dashboard/membership.coffee
@@ -117,7 +117,7 @@ class AuthListWidget extends MemberListWidget
 
         # create revoke button and insert it into the row
         label_trans = gettext("Revoke access")
-        $revoke_btn = $ _.template('<div class="revoke"><i class="icon fa fa-times-circle" aria-hidden="true"></i> <%= label %></div>')({label: label_trans}),
+        $revoke_btn = $ _.template('<div class="revoke"><span class="icon fa fa-times-circle" aria-hidden="true"></span> <%= label %></div>')({label: label_trans}),
           class: 'revoke'
         $revoke_btn.click =>
             @modify_member_access member.email, 'revoke', (error) =>
diff --git a/lms/static/js/bookmarks/views/bookmarks_list.js b/lms/static/js/bookmarks/views/bookmarks_list.js
index bb512d045a8..38a7688d9a9 100644
--- a/lms/static/js/bookmarks/views/bookmarks_list.js
+++ b/lms/static/js/bookmarks/views/bookmarks_list.js
@@ -15,8 +15,8 @@
             coursewareContentEl: '#course-content',
             coursewareResultsWrapperEl: '.courseware-results-wrapper',
 
-            errorIcon: '<i class="fa fa-fw fa-exclamation-triangle message-error" aria-hidden="true"></i>',
-            loadingIcon: '<i class="fa fa-fw fa-spinner fa-pulse message-in-progress" aria-hidden="true"></i>',
+            errorIcon: '<span class="fa fa-fw fa-exclamation-triangle message-error" aria-hidden="true"></span>',
+            loadingIcon: '<span class="fa fa-fw fa-spinner fa-pulse message-in-progress" aria-hidden="true"></span>',
 
             errorMessage: gettext('An error has occurred. Please try again.'),
             loadingMessage: gettext('Loading'),
diff --git a/lms/static/js/fixtures/ccx/schedule.html b/lms/static/js/fixtures/ccx/schedule.html
index 31a281347ca..a023d673c67 100644
--- a/lms/static/js/fixtures/ccx/schedule.html
+++ b/lms/static/js/fixtures/ccx/schedule.html
@@ -6,7 +6,7 @@
 <section id="enter-date-modal" class="modal" aria-hidden="true">
   <div class="inner-wrapper" role="dialog">
     <button class="close-modal">
-      <i class="fa-remove"></i>
+      <span class="fa-remove" aria-hidden="true"></span>
       <span class="sr">
         Close
       </span>
diff --git a/lms/static/js/fixtures/dashboard/dashboard.html b/lms/static/js/fixtures/dashboard/dashboard.html
index 0f0bdc4c62a..b61578b22aa 100644
--- a/lms/static/js/fixtures/dashboard/dashboard.html
+++ b/lms/static/js/fixtures/dashboard/dashboard.html
@@ -28,7 +28,7 @@
 
 <div class="course-container">
   <div class="label-xseries-association">
-    <i class="xseries-icon"></i>
+    <span class="xseries-icon" aria-hidden="true"></span>
     <p class="message-copy">XSeries Program Course</p>
   </div>
     <article class="course honor">
@@ -57,7 +57,7 @@
                                 <span class="sr">
                                 Course options for Introduction to Drinking Water Treatment
                                 </span>
-                                <i class="fa fa-cog" aria-hidden="true"></i>
+                                <span class="fa fa-cog" aria-hidden="true"></span>
                             </button>
                             <div class="actions-dropdown" id="actions-dropdown-1" tabindex="-1">
                                 <ul class="actions-dropdown-list" id="actions-dropdown-list-1" aria-label="Available Actions" role="menu">
@@ -87,7 +87,7 @@
                         </p>
                         <div class="action-upgrade-container">
                             <a class="action action-upgrade" href="/verify_student/upgrade/course-v1:DelftX+CTB3365DWx+1T2016/" data-course-id="course-v1:DelftX+CTB3365DWx+1T2016" data-user="Anon">
-                                <i class="action-upgrade-icon"></i>
+                                <span class="action-upgrade-icon" aria-hidden="true"></span>
                                 <span class="wrapper-copy">
                                     <span class="copy" id="upgrade-to-verified">Upgrade to Verified</span>
                                 </span>
@@ -107,7 +107,7 @@
 
                         <a class="btn xseries-border-btn" href="https://www.edx.org/xseries/water-management" target="_blank"
                            data-program-id="xseries007">
-                            <i class="action-xseries-icon"></i>
+                            <span class="action-xseries-icon" aria-hidden="true"></span>
                             <span>View XSeries Details</span>
                         </a>
                     </div>
@@ -118,7 +118,7 @@
 </div>
 <div class="course-container">
   <div class="label-xseries-association">
-    <i class="xseries-icon"></i>
+    <span class="xseries-icon" aria-hidden="true"></span>
     <p class="message-copy">XSeries Program Course</p>
   </div>
     <article class="course honor">
@@ -147,7 +147,7 @@
                                 <span class="sr">
                                 Course options for Introduction to Drinking Water Treatment
                                 </span>
-                                <i class="fa fa-cog" aria-hidden="true"></i>
+                                <span class="fa fa-cog" aria-hidden="true"></span>
                             </button>
                             <div class="actions-dropdown" id="actions-dropdown-2" tabindex="-1">
                                 <ul class="actions-dropdown-list" id="actions-dropdown-list-2" aria-label="Available Actions" role="menu">
@@ -177,7 +177,7 @@
                         </p>
                         <div class="action-upgrade-container">
                             <a class="action action-upgrade" href="/verify_student/upgrade/course-v1:DelftX+CTB3365DWx+1T2016/" data-course-id="course-v1:DelftX+CTB3365DWx+1T2016" data-user="Anon">
-                                <i class="action-upgrade-icon"></i>
+                                <span class="action-upgrade-icon" aria-hidden="true"></span>
                                 <span class="wrapper-copy">
                                     <span class="copy" id="upgrade-to-verified">Upgrade to Verified</span>
                                 </span>
@@ -196,7 +196,7 @@
 
                         <a class="btn xseries-border-btn" href="https://www.edx.org/xseries/water-management" target="_blank"
                            data-program-id="xseries007">
-                            <i class="action-xseries-icon"></i>
+                            <span class="action-xseries-icon" aria-hidden="true"></span>
                             <span>View XSeries Details</span>
                         </a>
                     </div>
diff --git a/lms/static/js/fixtures/discovery.html b/lms/static/js/fixtures/discovery.html
index 8e3d4071fd8..dd6c1cc7300 100644
--- a/lms/static/js/fixtures/discovery.html
+++ b/lms/static/js/fixtures/discovery.html
@@ -5,10 +5,10 @@
       <label for="discovery-input" class="sr">Search for a course</label>
       <input id="discovery-input" class="discovery-input" placeholder="Search for a course" type="text"/>
       <button type="submit" class="button postfix discovery-submit" aria-label="Search">
-        <i class="icon fa fa-search" aria-hidden="true"></i>
+        <span class="icon fa fa-search" aria-hidden="true"></span>
         <div aria-live="polite" aria-relevant="all">
           <div id="loading-indicator" class="loading-spinner hidden">
-          <i class="icon fa fa-spinner fa-spin"></i>
+          <span class="icon fa fa-spinner fa-spin" aria-hidden="true"></span>
           <span class="sr">Loading</span>
           </div>
         </div>
diff --git a/lms/static/js/fixtures/edxnotes/edxnotes.html b/lms/static/js/fixtures/edxnotes/edxnotes.html
index 482b385554c..fab4e4887e8 100644
--- a/lms/static/js/fixtures/edxnotes/edxnotes.html
+++ b/lms/static/js/fixtures/edxnotes/edxnotes.html
@@ -15,7 +15,7 @@
             <label for="search-notes-input" class="sr">Search notes for:</label>
             <input type="search" class="search-notes-input" id="search-notes-input" name="note" placeholder="Search notes for...">
             <button type="submit" class="search-notes-submit">
-              <i class="icon fa fa-search"></i>
+              <span class="icon fa fa-search" aria-hidden="true"></span>
               <span class="sr">Search</span>
             </button>
           </form>
@@ -37,7 +37,7 @@
 
         <div class="ui-loading" tabindex="-1">
           <span class="spin">
-            <i class="icon fa fa-refresh"></i>
+            <span class="icon fa fa-refresh" aria-hidden="true"></span>
           </span>
           <span class="copy">Loading</span>
         </div>
diff --git a/lms/static/js/fixtures/edxnotes/toggle_notes.html b/lms/static/js/fixtures/edxnotes/toggle_notes.html
index 7aa88bc965e..bd09d56fd5d 100644
--- a/lms/static/js/fixtures/edxnotes/toggle_notes.html
+++ b/lms/static/js/fixtures/edxnotes/toggle_notes.html
@@ -1,7 +1,7 @@
 <div class="wrapper-utility edx-notes-visibility">
   <span class="action-toggle-message">Notes visible</span>
   <button class="utility-control utility-control-button action-toggle-notes is-disabled is-active" aria-pressed="true">
-    <i class="icon fa fa-pencil"></i>
+    <span class="icon fa fa-pencil" aria-hidden="true"></span>
      <span class="utility-control-label sr">Hide notes</span>
   </button>
 </div>
diff --git a/lms/static/js/fixtures/search/course_search_form.html b/lms/static/js/fixtures/search/course_search_form.html
index f9f53acf00d..258a644f46f 100644
--- a/lms/static/js/fixtures/search/course_search_form.html
+++ b/lms/static/js/fixtures/search/course_search_form.html
@@ -3,10 +3,10 @@
         <label for="course-search-input" class="sr">Course Search</label>
         <input id="course-search-input" type="text" class="search-field"/>
         <button type="submit" class="search-button">
-          search <i class="icon fa fa-search" aria-hidden="true"></i>
+          search <span class="icon fa fa-search" aria-hidden="true"></span>
         </button>
-        <button type="button" class="cancel-button" aria-label="Clear search">
-          <i class="icon fa fa-remove" aria-hidden="true"></i>
+        <button type="button" class="cancel-button" title="Clear search">
+          <span class="icon fa fa-remove" aria-hidden="true"></span>
         </button>
     </form>
 </div>
diff --git a/lms/static/js/fixtures/search/dashboard_search_form.html b/lms/static/js/fixtures/search/dashboard_search_form.html
index 18973767cf6..538a6e9ee33 100644
--- a/lms/static/js/fixtures/search/dashboard_search_form.html
+++ b/lms/static/js/fixtures/search/dashboard_search_form.html
@@ -4,10 +4,10 @@
         <div>
             <input id="dashboard-search-input" type="text" class="search-field"/>
             <button type="submit" class="search-button" aria-label="Search">
-                <i class="icon fa fa-search" aria-hidden="true"></i>
+                <span class="icon fa fa-search" aria-hidden="true"></span>
             </button>
             <button type="button" class="cancel-button" aria-label="Clear search">
-                <i class="icon fa fa-remove" aria-hidden="true"></i>
+                <span class="icon fa fa-remove" aria-hidden="true"></span>
             </button>
         </div>
     </form>
diff --git a/lms/static/js/fixtures/student_profile/student_profile.html b/lms/static/js/fixtures/student_profile/student_profile.html
index 40ae15e5ba9..d3719597f50 100644
--- a/lms/static/js/fixtures/student_profile/student_profile.html
+++ b/lms/static/js/fixtures/student_profile/student_profile.html
@@ -3,16 +3,15 @@
   <div class="ui-loading-indicator">
     <p>
       <span class="spin">
-        <i class="icon fa fa-refresh"></i>
+        <span class="icon fa fa-refresh" aria-hidden="true"></span>
       </span>
-      
       <span class="copy">
           Loading
       </span>
     </p>
   </div>
   <div class="ui-loading-error is-hidden">
-    <i class="fa fa-exclamation-triangle message-error" aria-hidden=true></i>
+    <span class="fa fa-exclamation-triangle message-error" aria-hidden="true"></span>
     <span class="copy">
       An error occurred. Please reload the page.
     </span>
diff --git a/lms/static/js/spec/courseware/bookmarks_list_view_spec.js b/lms/static/js/spec/courseware/bookmarks_list_view_spec.js
index 84619bb5c79..4dd00dba40e 100644
--- a/lms/static/js/spec/courseware/bookmarks_list_view_spec.js
+++ b/lms/static/js/spec/courseware/bookmarks_list_view_spec.js
@@ -83,7 +83,7 @@ define(['backbone',
             var breadcrumbTrail = function (path, unitDisplayName) {
                 return _.pluck(path, 'display_name').
                     concat([unitDisplayName]).
-                    join(' <i class="icon fa fa-caret-right" aria-hidden="true"></i><span class="sr">-</span> ');
+                    join(' <span class="icon fa fa-caret-right" aria-hidden="true"></span><span class="sr">-</span> ');
             };
 
             var verifyBookmarkedData = function (view, expectedData) {
diff --git a/lms/static/js/spec/shoppingcart/shoppingcart_spec.js b/lms/static/js/spec/shoppingcart/shoppingcart_spec.js
index 0f86f7c9f89..6b244c05b3e 100644
--- a/lms/static/js/spec/shoppingcart/shoppingcart_spec.js
+++ b/lms/static/js/spec/shoppingcart/shoppingcart_spec.js
@@ -7,7 +7,7 @@ define(['common/js/spec_helpers/ajax_helpers', 'js/shoppingcart/shoppingcart'],
             var requests = null;
 
             beforeEach(function() {
-                setFixtures('<section class="wrapper confirm-enrollment shopping-cart cart-view"><form action="" method="post"><input type="hidden" name="" value="" /><i class="icon fa fa-caret-right"></i><input type="submit" value="Payment"/></form></section>');
+                setFixtures('<section class="wrapper confirm-enrollment shopping-cart cart-view"><form action="" method="post"><input type="hidden" name="" value="" /><span class="icon fa fa-caret-right"></span><input type="submit" value="Payment"/></form></section>'); // jshint ignore:line
 
                 view = new edx.shoppingcart.showcart.CartView({
                     el: $('.confirm-enrollment.cart-view form')
diff --git a/lms/static/js/spec/student_profile/learner_profile_fields_spec.js b/lms/static/js/spec/student_profile/learner_profile_fields_spec.js
index dbd9fec9bf4..c2b108a628d 100644
--- a/lms/static/js/spec/student_profile/learner_profile_fields_spec.js
+++ b/lms/static/js/spec/student_profile/learner_profile_fields_spec.js
@@ -82,14 +82,14 @@ define(['backbone', 'jquery', 'underscore', 'common/js/spec_helpers/ajax_helpers
                 var verifyImageUploadButtonMessage = function (view, inProgress) {
                     var iconName = inProgress ? 'fa-spinner' : 'fa-camera';
                     var message = inProgress ? view.titleUploading : view.uploadButtonTitle();
-                    expect(view.$('.upload-button-icon i').attr('class')).toContain(iconName);
+                    expect(view.$('.upload-button-icon span').attr('class')).toContain(iconName);
                     expect(view.$('.upload-button-title').text().trim()).toBe(message);
                 };
 
                 var verifyImageRemoveButtonMessage = function (view, inProgress) {
                     var iconName = inProgress ? 'fa-spinner' : 'fa-remove';
                     var message = inProgress ? view.titleRemoving : view.removeButtonTitle();
-                    expect(view.$('.remove-button-icon i').attr('class')).toContain(iconName);
+                    expect(view.$('.remove-button-icon span').attr('class')).toContain(iconName);
                     expect(view.$('.remove-button-title').text().trim()).toBe(message);
                 };
 
diff --git a/lms/static/js/views/fields.js b/lms/static/js/views/fields.js
index e22f7e840ca..014872512c3 100644
--- a/lms/static/js/views/fields.js
+++ b/lms/static/js/views/fields.js
@@ -30,12 +30,12 @@
             tagName: 'div',
 
             indicators: {
-                'canEdit': '<i class="icon fa fa-pencil message-can-edit" aria-hidden="true"></i><span class="sr">' + gettext("Editable") + '</span>',
-                'error': '<i class="fa fa-exclamation-triangle message-error" aria-hidden="true"></i><span class="sr">' + gettext("Error") + '</span>',
-                'validationError': '<i class="fa fa-exclamation-triangle message-validation-error" aria-hidden="true"></i><span class="sr">' + gettext("Validation Error") + '</span>',
-                'inProgress': '<i class="fa fa-spinner fa-pulse message-in-progress" aria-hidden="true"></i><span class="sr">' + gettext("In Progress") + '</span>',
-                'success': '<i class="fa fa-check message-success" aria-hidden="true"></i><span class="sr">' + gettext("Success") + '</span>',
-                'plus': '<i class="fa fa-plus placeholder" aria-hidden="true"></i><span class="sr">' + gettext("Placeholder")+ '</span>'
+                'canEdit': '<span class="icon fa fa-pencil message-can-edit" aria-hidden="true"></span><span class="sr">' + gettext("Editable") + '</span>', // jshint ignore:line
+                'error': '<span class="fa fa-exclamation-triangle message-error" aria-hidden="true"></span><span class="sr">' + gettext("Error") + '</span>', // jshint ignore:line
+                'validationError': '<span class="fa fa-exclamation-triangle message-validation-error" aria-hidden="true"></span><span class="sr">' + gettext("Validation Error") + '</span>', // jshint ignore:line
+                'inProgress': '<span class="fa fa-spinner fa-pulse message-in-progress" aria-hidden="true"></span><span class="sr">' + gettext("In Progress") + '</span>', // jshint ignore:line
+                'success': '<span class="fa fa-check message-success" aria-hidden="true"></span><span class="sr">' + gettext("Success") + '</span>', // jshint ignore:line
+                'plus': '<span class="fa fa-plus placeholder" aria-hidden="true"></span><span class="sr">' + gettext("Placeholder")+ '</span>' // jshint ignore:line
             },
 
             messages: {
diff --git a/lms/static/js/views/image_field.js b/lms/static/js/views/image_field.js
index f47050accc6..43bb565d260 100644
--- a/lms/static/js/views/image_field.js
+++ b/lms/static/js/views/image_field.js
@@ -23,9 +23,9 @@
             titleImageAlt: '',
             screenReaderTitle: gettext("Image"),
 
-            iconUpload: '<i class="icon fa fa-camera" aria-hidden="true"></i>',
-            iconRemove: '<i class="icon fa fa-remove" aria-hidden="true"></i>',
-            iconProgress: '<i class="icon fa fa-spinner fa-pulse fa-spin" aria-hidden="true"></i>',
+            iconUpload: '<span class="icon fa fa-camera" aria-hidden="true"></span>',
+            iconRemove: '<span class="icon fa fa-remove" aria-hidden="true"></span>',
+            iconProgress: '<span class="icon fa fa-spinner fa-pulse fa-spin" aria-hidden="true"></span>',
 
             errorMessage: gettext("An error has occurred. Refresh the page, and then try again."),
 
diff --git a/lms/templates/bookmarks/bookmarks-list.underscore b/lms/templates/bookmarks/bookmarks-list.underscore
index 29a6bf2b396..bd3ca9ed2f6 100644
--- a/lms/templates/bookmarks/bookmarks-list.underscore
+++ b/lms/templates/bookmarks/bookmarks-list.underscore
@@ -10,13 +10,13 @@
              <a class="bookmarks-results-list-item" href="<%= bookmark.blockUrl() %>" aria-labelledby="bookmark-link-<%= index %>" data-bookmark-id="<%= bookmark.get('id') %>" data-component-type="<%= bookmark.get('block_type') %>" data-usage-id="<%= bookmark.get('usage_id') %>" aria-describedby="bookmark-type-<%= index %> bookmark-date-<%= index %>">
                 <div class="list-item-content">
                     <div class="list-item-left-section">
-                        <h3 id="bookmark-link-<%= index %>" class="list-item-breadcrumbtrail"> <%= _.map(_.pluck(bookmark.get('path'), 'display_name'), _.escape).concat([_.escape(bookmark.get('display_name'))]).join(' <i class="icon fa fa-caret-right" aria-hidden="true"></i><span class="sr">-</span> ') %> </h3>
+                        <h3 id="bookmark-link-<%= index %>" class="list-item-breadcrumbtrail"> <%= _.map(_.pluck(bookmark.get('path'), 'display_name'), _.escape).concat([_.escape(bookmark.get('display_name'))]).join(' <span class="icon fa fa-caret-right" aria-hidden="true"></span><span class="sr">-</span> ') %> </h3>
                         <p id="bookmark-date-<%= index %>" class="list-item-date"> <%= gettext("Bookmarked on") %> <%= humanFriendlyDate(bookmark.get('created')) %> </p>
                     </div>
 
                     <p id="bookmark-type-<%= index %>" class="list-item-right-section">
                         <span aria-hidden="true"><%= gettext("View") %></span>
-                        <i class="icon fa fa-arrow-right" aria-hidden="true"></i>
+                        <span class="icon fa fa-arrow-right" aria-hidden="true"></span>
                     </p>
                 </div>
             </a>
@@ -29,7 +29,7 @@
 
     <div class="bookmarks-empty">
         <div class="bookmarks-empty-header">
-            <i class="icon fa fa-bookmark-o bookmarks-empty-header-icon" aria-hidden="true"></i>
+            <span class="icon fa fa-bookmark-o bookmarks-empty-header-icon" aria-hidden="true"></span>
             <%= gettext("You have not bookmarked any courseware pages yet.") %>
             <br>
         </div>
diff --git a/lms/templates/ccx/enrollment.html b/lms/templates/ccx/enrollment.html
index 750d86a415e..d9b422f4dfa 100644
--- a/lms/templates/ccx/enrollment.html
+++ b/lms/templates/ccx/enrollment.html
@@ -89,7 +89,7 @@ from openedx.core.djangolib.markup import HTML, Text
             <tr>
               <td>${member.user}</td>
               <td>${member.user.email}</td>
-              <td><a class="revoke"><i class="fa fa-times-circle" aria-hidden="true"></i> ${_("Revoke access")}</a></td>
+              <td><a class="revoke"><span class="fa fa-times-circle" aria-hidden="true"></span> ${_("Revoke access")}</a></td>
             </tr>
             %endfor
           </tbody>
diff --git a/lms/templates/ccx/grading_policy.html b/lms/templates/ccx/grading_policy.html
index f643140ace0..d71ea5b8007 100644
--- a/lms/templates/ccx/grading_policy.html
+++ b/lms/templates/ccx/grading_policy.html
@@ -3,7 +3,7 @@
 
 <div id="warn-coach" class="wrapper-msg urgency-high warning">
   <div class="msg">
-    <i class="msg-icon fa fa-warning"></i>
+    <span class="msg-icon fa fa-warning" aria-hidden="true"></span>
     <div class="msg-content">
       <h3 class="title">${_("WARNING")}</h3>
       <div class="copy">
diff --git a/lms/templates/ccx/schedule.html b/lms/templates/ccx/schedule.html
index 049eca29b9d..20c59e87e1c 100644
--- a/lms/templates/ccx/schedule.html
+++ b/lms/templates/ccx/schedule.html
@@ -39,7 +39,7 @@ from openedx.core.djangolib.js_utils import (
          tabindex="-1" role="dialog" aria-labelledby="ccx_schedule_set_date_heading">
   <div class="inner-wrapper">
     <button class="close-modal">
-      <i class="icon fa fa-remove" aria-hidden="true"></i>
+      <span class="icon fa fa-remove" aria-hidden="true"></span>
       <span class="sr">${_("Close")}</span>
     </button>
     <header>
diff --git a/lms/templates/ccx/schedule.underscore b/lms/templates/ccx/schedule.underscore
index fe0dcd501bb..b0cde48b089 100644
--- a/lms/templates/ccx/schedule.underscore
+++ b/lms/templates/ccx/schedule.underscore
@@ -1,9 +1,9 @@
   <div align="right">
     <button id="ccx_expand_all_btn" class="ccx-button-link">
-      <i class="fa fa-expand" aria-hidden="true"></i> <%- gettext('Expand All') %>
+      <span class="fa fa-expand" aria-hidden="true"></span> <%- gettext('Expand All') %>
     </button>
     <button id="ccx_collapse_all_btn" class="ccx-button-link">
-      <i class="fa fa-compress" aria-hidden="true"></i> <%- gettext('Collapse All') %>
+      <span class="fa fa-compress" aria-hidden="true"></span> <%- gettext('Collapse All') %>
     </button>
   </div>
   <br/>
@@ -14,7 +14,7 @@
         <th><%- gettext('Start Date') %></th>
         <th><%- gettext('Due Date') %></th>
         <td><button id="remove-all" class="ccx-button-link">
-          <i class="fa fa-remove" aria-hidden="true"></i> <%- gettext('remove all') %>
+          <span class="fa fa-remove" aria-hidden="true"></span> <%- gettext('remove all') %>
         </button></td>
       </tr>
     </thead>
@@ -23,7 +23,7 @@
         <tr class="chapter collapsed" data-location="<%- chapter.location %>" data-depth="1">
           <td class="unit">
             <button class="toggle-collapse ccx-button-link" aria-expanded="false">
-              <i class="fa fa-caret-right"></i>
+              <span class="fa fa-caret-right" aria-hidden="true"></span>
               <span class="sr">
                 <%- interpolate(gettext('toggle chapter %(displayName)s'),
                   {displayName: chapter.display_name}, true) %>
@@ -43,7 +43,7 @@
           </td>
           <td><button class="remove-unit ccx-button-link" aria-label="<%- interpolate(
                 gettext('Remove chapter %(chapterDisplayName)s'), {chapterDisplayName: chapter.display_name}, true) %>">
-            <i class="fa fa-remove" aria-hidden="true"></i> <%- gettext('remove') %>
+            <span class="fa fa-remove" aria-hidden="true"></span> <%- gettext('remove') %>
           </button></td>
         </tr>
         <% _.each(chapter.children, function(child) { %>
@@ -51,7 +51,7 @@
               data-location="<%- chapter.location %> <%- child.location %>">
             <td class="unit">
               <button class="toggle-collapse ccx-button-link" aria-expanded="false">
-                 <i class="fa fa-caret-right"></i>
+                 <span class="fa fa-caret-right" aria-hidden="true"></span>
                  <span class="sr">
                      <%- interpolate(gettext('toggle subsection %(displayName)s'),
                       {displayName: child.display_name}, true) %>
@@ -73,7 +73,7 @@
             </td>
             <td><button class="remove-unit ccx-button-link" aria-label="<%- interpolate(
                 gettext('Remove subsection %(subsectionDisplayName)s'), {subsectionDisplayName: child.display_name}, true) %>">
-              <i class="fa fa-remove" aria-hidden="true"></i> <%- gettext('remove') %>
+              <span class="fa fa-remove" aria-hidden="true"></span> <%- gettext('remove') %>
             </button></td>
           </tr>
           <% _.each(child.children, function(subchild) { %>
@@ -106,7 +106,7 @@
               <td>
                 <button class="remove-unit ccx-button-link" aria-label="<%- interpolate(
                     gettext('Remove unit %(unitName)s'), {unitName: subchild.display_name}, true) %>">
-                  <i class="fa fa-remove" aria-hidden="true"></i> <%- gettext('remove') %>
+                  <span class="fa fa-remove" aria-hidden="true"></span> <%- gettext('remove') %>
                 </button>
               </td>
           </tr>
diff --git a/lms/templates/certificates/_accomplishment-banner.html b/lms/templates/certificates/_accomplishment-banner.html
index eba7ee8d9c8..7be79a63ec7 100644
--- a/lms/templates/certificates/_accomplishment-banner.html
+++ b/lms/templates/certificates/_accomplishment-banner.html
@@ -53,7 +53,7 @@ from django.template.defaultfilters import escapejs
                           picture_link: '${full_course_image_url}',
                           description: '${_('Click the link to see my certificate.') | escapejs}'
                           });">
-                          <i class="icon fa fa-facebook-official" aria-hidden="true"></i>
+                          <span class="icon fa fa-facebook-official" aria-hidden="true"></span>
                           <span class="action-label">${_("Post on Facebook")}</span>
                       </button>
                     %endif
@@ -62,14 +62,14 @@ from django.template.defaultfilters import escapejs
                         class="action action-share-twitter btn-inverse btn-small icon-only"
                         title="${_('Share on Twitter')}"
                         onclick="popupWindow('${twitter_url}', 'tweetWindow', 640, 480); return false;">
-                          <i class="icon fa fa-twitter" aria-hidden="true"></i>
+                          <span class="icon fa fa-twitter" aria-hidden="true"></span>
                           <span class="action-label">${_("Tweet this Accomplishment. Pop up window.")}</span>
                       </button>
                     %endif
 
                     %if linked_in_url:
                     <button class="action action-linkedin-profile btn-inverse btn-small icon-only" id="action-share-linkedin" title="${_('Add to LinkedIn Profile')}" data-course-id="${course_id}" data-certificate-mode="${course_mode}">
-                        <i class="icon fa fa-linkedin" aria-hidden="true"></i>
+                        <span class="icon fa fa-linkedin" aria-hidden="true"></span>
                         <span class="action-label">${_("Add to LinkedIn Profile")}</span>
                     </button>
                     %endif
@@ -82,7 +82,7 @@ from django.template.defaultfilters import escapejs
                     %endif
 
                     <button class="action action-print btn-inverse btn-small" id="action-print-view">
-                        <i class="icon fa fa-print" aria-hidden="true"></i>
+                        <span class="icon fa fa-print" aria-hidden="true"></span>
                         ${_("Print Certificate")}
                     </button>
                 </div>
diff --git a/lms/templates/certificates/_badges-modal.html b/lms/templates/certificates/_badges-modal.html
index 2f24fa48d66..ae50e1c632d 100644
--- a/lms/templates/certificates/_badges-modal.html
+++ b/lms/templates/certificates/_badges-modal.html
@@ -3,7 +3,7 @@
 <script src="${static.url('js/certificates/certificates.js')}"></script>
 <div class="badges-overlay" style="display:none;">
     <div class="badges-modal">
-        <div class="close"><i class="fa fa-close" alt="Close"><input type="button" class="sr-only" value="Close"/></i></div>
+        <div class="close"><span class="fa fa-close" alt="Close" aria-hidden="true"><input type="button" class="sr-only" value="Close"/></span></div>
         <h1 class="hd-1 emphasized">Share on Mozilla Backpack</h1>
         <p class="explanation">
             To share your certificate on Mozilla Backpack, you must first have a Backpack account.
diff --git a/lms/templates/commerce/checkout_receipt.html b/lms/templates/commerce/checkout_receipt.html
index a743c97ab0c..0d4587fb145 100644
--- a/lms/templates/commerce/checkout_receipt.html
+++ b/lms/templates/commerce/checkout_receipt.html
@@ -28,8 +28,7 @@ from django.utils.translation import ugettext as _
 <div id="error-container" class="hidden">
     <div id="error" class="wrapper-msg wrapper-msg-activate">
         <div class=" msg msg-activate">
-            <i class="msg-icon icon fa fa-exclamation-triangle" aria-hidden="true"></i>
-
+            <span class="msg-icon icon fa fa-exclamation-triangle" aria-hidden="true"></span>
             <div class="msg-content">
                 <h3 class="title">
                     <span class="sr">${error_summary}</span>
diff --git a/lms/templates/course.html b/lms/templates/course.html
index 25f739a8c68..dfc53ef0bab 100644
--- a/lms/templates/course.html
+++ b/lms/templates/course.html
@@ -10,7 +10,7 @@ from django.core.urlresolvers import reverse
     <header class="course-image">
       <div class="cover-image">
         <img src="${course.course_image_url}" alt="${course.display_name_with_default} ${course.display_number_with_default}" />
-        <div class="learn-more" aria-hidden=true>${_("LEARN MORE")}</div>
+        <div class="learn-more" aria-hidden="true">${_("LEARN MORE")}</div>
       </div>
     </header>
     <div class="course-info" aria-hidden="true">
diff --git a/lms/templates/course_modes/choose.html b/lms/templates/course_modes/choose.html
index 16a6d136666..936d651cb8a 100644
--- a/lms/templates/course_modes/choose.html
+++ b/lms/templates/course_modes/choose.html
@@ -56,7 +56,7 @@ from openedx.core.djangolib.markup import HTML, Text
     % if error:
         <div class="wrapper-msg wrapper-msg-error">
             <div class=" msg msg-error">
-                <i class="msg-icon icon fa fa-exclamation-triangle"></i>
+                <span class="msg-icon icon fa fa-exclamation-triangle" aria-hidden="true"></span>
                 <div class="msg-content">
                     <h3 class="title">${_("Sorry, there was an error when trying to enroll you")}</h3>
                     <div class="copy">
diff --git a/lms/templates/courseware/course_about.html b/lms/templates/courseware/course_about.html
index 28a2c77199e..a40392358fa 100644
--- a/lms/templates/courseware/course_about.html
+++ b/lms/templates/courseware/course_about.html
@@ -221,15 +221,15 @@ from openedx.core.lib.courses import course_image_url
         <%include file="course_about_sidebar_header.html" />
 
         <ol class="important-dates">
-          <li class="important-dates-item"><i class="icon fa fa-info-circle"></i><p class="important-dates-item-title">${_("Course Number")}</p><span class="important-dates-item-text course-number">${course.display_number_with_default | h}</span></li>
+          <li class="important-dates-item"><span class="icon fa fa-info-circle" aria-hidden="true"></span><p class="important-dates-item-title">${_("Course Number")}</p><span class="important-dates-item-text course-number">${course.display_number_with_default | h}</span></li>
           % if not course.start_date_is_still_default:
-            <li class="important-dates-item"><i class="icon fa fa-calendar"></i><p class="important-dates-item-title">${_("Classes Start")}</p><span class="important-dates-item-text start-date">${course.start_datetime_text()}</span></li>
+            <li class="important-dates-item"><span class="icon fa fa-calendar" aria-hidden="true"></span><p class="important-dates-item-title">${_("Classes Start")}</p><span class="important-dates-item-text start-date">${course.start_datetime_text()}</span></li>
           % endif
             ## We plan to ditch end_date (which is not stored in course metadata),
             ## but for backwards compatibility, show about/end_date blob if it exists.
             % if get_course_about_section(request, course, "end_date") or course.end:
             <li class="important-dates-item">
-                <i class="icon fa fa-calendar"></i>
+                <span class="icon fa fa-calendar" aria-hidden="true"></span>
                 <p class="important-dates-item-title">${_("Classes End")}</p>
                 <span class="important-dates-item-text final-date">
                     % if get_course_about_section(request, course, "end_date"):
@@ -242,14 +242,14 @@ from openedx.core.lib.courses import course_image_url
             % endif
 
           % if get_course_about_section(request, course, "effort"):
-            <li class="important-dates-item"><i class="icon fa fa-pencil"></i><p class="important-dates-item-title">${_("Estimated Effort")}</p><span class="important-dates-item-text effort">${get_course_about_section(request, course, "effort")}</span></li>
+            <li class="important-dates-item"><span class="icon fa fa-pencil" aria-hidden="true"></span><p class="important-dates-item-title">${_("Estimated Effort")}</p><span class="important-dates-item-text effort">${get_course_about_section(request, course, "effort")}</span></li>
           % endif
 
-          ##<li class="important-dates-item"><i class="icon fa fa-clock-o"></i><p class="important-dates-item-title">${_('Course Length')}</p><span class="important-dates-item-text course-length">${_('{number} weeks').format(number=15)}</span></li>
+          ##<li class="important-dates-item"><span class="icon fa fa-clock-o" aria-hidden="true"></span><p class="important-dates-item-title">${_('Course Length')}</p><span class="important-dates-item-text course-length">${_('{number} weeks').format(number=15)}</span></li>
 
           %if course_price and (can_add_course_to_cart or is_cosmetic_price_enabled):
             <li class="important-dates-item">
-              <i class="icon fa fa-money"></i>
+              <span class="icon fa fa-money" aria-hidden="true"></span>
               <p class="important-dates-item-title">${_("Price")}</p>
               <span class="important-dates-item-text">${course_price}</span>
             </li>
@@ -258,7 +258,7 @@ from openedx.core.lib.courses import course_image_url
           % if pre_requisite_courses:
           <% prc_target = reverse('about_course', args=[unicode(pre_requisite_courses[0]['key'])]) %>
           <li class="prerequisite-course important-dates-item">
-            <i class="icon fa fa-list-ul"></i>
+            <span class="icon fa fa-list-ul" aria-hidden="true"></span>
             <p class="important-dates-item-title">${_("Prerequisites")}</p>
             ## Multiple pre-requisite courses are not supported on frontend that's why we are pulling first element
             <span class="important-dates-item-text pre-requisite"><a href="${prc_target}">${pre_requisite_courses[0]['display']}</a></span>
@@ -272,7 +272,7 @@ from openedx.core.lib.courses import course_image_url
           </li>
           % endif
           % if get_course_about_section(request, course, "prerequisites"):
-            <li class="important-dates-item"><i class="icon fa fa-book"></i><p class="important-dates-item-title">${_("Requirements")}</p><span class="important-dates-item-text prerequisites">${get_course_about_section(request, course, "prerequisites")}</span></li>
+            <li class="important-dates-item"><span class="icon fa fa-book" aria-hidden="true"></span><p class="important-dates-item-title">${_("Requirements")}</p><span class="important-dates-item-text prerequisites">${get_course_about_section(request, course, "prerequisites")}</span></li>
           % endif
         </ol>
       </section>
diff --git a/lms/templates/courseware/course_about_sidebar_header.html b/lms/templates/courseware/course_about_sidebar_header.html
index 23614095383..027587ef3a9 100644
--- a/lms/templates/courseware/course_about_sidebar_header.html
+++ b/lms/templates/courseware/course_about_sidebar_header.html
@@ -45,13 +45,13 @@ from django.conf import settings
         ).replace(u" ", u"%20")
       %>
       <a href="${tweet_action}" class="share">
-        <i class="icon fa fa-twitter"></i><span class="sr">${_("Tweet that you've enrolled in this course")}</span>
+        <span class="icon fa fa-twitter" aria-hidden="true"></span><span class="sr">${_("Tweet that you've enrolled in this course")}</span>
       </a>
       <a href="${facebook_link}" class="share">
-        <i class="icon fa fa-thumbs-up"></i><span class="sr">${_("Post a Facebook message to say you've enrolled in this course")}</span>
+        <span class="icon fa fa-thumbs-up" aria-hidden="true"></span><span class="sr">${_("Post a Facebook message to say you've enrolled in this course")}</span>
       </a>
       <a href="${email_subject}" class="share">
-        <i class="icon fa fa-envelope"></i><span class="sr">${_("Email someone to say you've enrolled in this course")}</span>
+        <span class="icon fa fa-envelope" aria-hidden="true"></span><span class="sr">${_("Email someone to say you've enrolled in this course")}</span>
       </a>
   </div>
   % endif
diff --git a/lms/templates/courseware/courses.html b/lms/templates/courseware/courses.html
index 1e08c3684dd..994ef7e6d7f 100644
--- a/lms/templates/courseware/courses.html
+++ b/lms/templates/courseware/courses.html
@@ -37,11 +37,11 @@
           <form class="wrapper-search-input">
             <label for="discovery-input" class="sr">${_('Search for a course')}</label>
             <input id="discovery-input" class="discovery-input" placeholder="${_('Search for a course')}" type="text"/>
-            <button type="submit" class="button postfix discovery-submit" aria-label="${_('Search')}">
-              <i class="icon fa fa-search" aria-hidden="true"></i>
+            <button type="submit" class="button postfix discovery-submit" title="${_('Search')}">
+              <span class="icon fa fa-search" aria-hidden="true"></span>
               <div aria-live="polite" aria-relevant="all">
                 <div id="loading-indicator" class="loading-spinner hidden">
-                  <i class="icon fa fa-spinner fa-spin"></i>
+                  <span class="icon fa fa-spinner fa-spin" aria-hidden="true"></span>
                   <span class="sr">${_('Loading')}</span>
                 </div>
               </div>
diff --git a/lms/templates/courseware/courseware.html b/lms/templates/courseware/courseware.html
index 8c4fd74ae36..7897372b37a 100644
--- a/lms/templates/courseware/courseware.html
+++ b/lms/templates/courseware/courseware.html
@@ -127,10 +127,10 @@ ${HTML(fragment.foot_html())}
                 <div class="search-field-wrapper">
                   <input id="course-search-input" type="text" class="search-field"/>
                   <button type="submit" class="search-button">
-                    ${_('search')} <i class="icon fa fa-search" aria-hidden="true"></i>
+                    ${_('search')} <span class="icon fa fa-search" aria-hidden="true"></span>
                   </button>
-                  <button type="button" class="cancel-button" aria-label="${_('Clear search')}">
-                    <i class="icon fa fa-remove" aria-hidden="true"></i>
+                  <button type="button" class="cancel-button" title="${_('Clear search')}">
+                    <span class="icon fa fa-remove" aria-hidden="true"></span>
                   </button>
                 </div>
               </form>
diff --git a/lms/templates/courseware/progress.html b/lms/templates/courseware/progress.html
index e930b1f5faa..2e63897888d 100644
--- a/lms/templates/courseware/progress.html
+++ b/lms/templates/courseware/progress.html
@@ -124,7 +124,7 @@ from django.utils.http import urlquote_plus
                     %elif credit_course_requirements['eligibility_status'] == 'partial_eligible':
                         <span>${_("{student_name}, you have not yet met the requirements for credit.").format(student_name=student.profile.name) | h}</span>
                     %endif
-                    <a href="${settings.CREDIT_HELP_LINK_URL | h}" class="credit-help"><i class="fa fa-question"></i><span class="sr">${_("Information about course credit requirements")}</span></a><br>
+                    <a href="${settings.CREDIT_HELP_LINK_URL | h}" class="credit-help"><span class="fa fa-question" aria-hidden="true"></span><span class="sr">${_("Information about course credit requirements")}</span></a><br>
                     <div class="requirement-container" data-eligible="${credit_course_requirements['eligibility_status'] | h}">
                     %for requirement in credit_course_requirements['requirements']:
                         <div class="requirement">
@@ -139,13 +139,13 @@ from django.utils.http import urlquote_plus
                                     %if requirement['status'] == 'submitted':
                                         <span class="requirement-submitted">${_("Verification Submitted")}</span>
                                     %elif requirement['status'] == 'failed':
-                                        <i class="fa fa-times" aria-hidden="true"></i>
+                                        <span class="fa fa-times" aria-hidden="true"></span>
                                         <span>${_("Verification Failed" )}</span>
                                     %elif requirement['status'] == 'declined':
-                                        <i class="fa fa-times" aria-hidden="true"></i>
+                                        <span class="fa fa-times" aria-hidden="true"></span>
                                         <span>${_("Verification Declined" )}</span>
                                     %elif requirement['status'] == 'satisfied':
-                                        <i class="fa fa-check" aria-hidden="true"></i>
+                                        <span class="fa fa-check" aria-hidden="true"></span>
                                         <span>${_("Completed by")} ${get_time_display(requirement['status_date'], DEFAULT_SHORT_DATE_FORMAT, settings.TIME_ZONE)}</span>
                                     %endif
                                 %else:
@@ -155,7 +155,7 @@ from django.utils.http import urlquote_plus
                         </div>
                     %endfor
                      </div>
-                    <button class="detail-collapse" aria-live="polite"><i class="fa fa-caret-up" aria-hidden="true"></i>
+                    <button class="detail-collapse" aria-live="polite"><span class="fa fa-caret-up" aria-hidden="true"></span>
                         <span class="requirement-detail">${_("Less")}</span>
                     </button>
                 </div>
diff --git a/lms/templates/dashboard.html b/lms/templates/dashboard.html
index 7f0d7761442..68a4d4140a4 100644
--- a/lms/templates/dashboard.html
+++ b/lms/templates/dashboard.html
@@ -140,11 +140,11 @@ from openedx.core.djangolib.markup import HTML, Text
             <label for="dashboard-search-input">${_('Search Your Courses')}</label>
             <div class="search-field-wrapper">
               <input id="dashboard-search-input" type="text" class="search-field"/>
-              <button type="submit" class="search-button" aria-label="${_('Search')}">
-                <i class="icon fa fa-search" aria-hidden="true"></i>
+              <button type="submit" class="search-button" title="${_('Search')}">
+                <span class="icon fa fa-search" aria-hidden="true"></span>
               </button>
-              <button type="button" class="cancel-button" aria-label="${_('Clear search')}">
-                <i class="icon fa fa-remove" aria-hidden="true"></i>
+              <button type="button" class="cancel-button" title="${_('Clear search')}">
+                <span class="icon fa fa-remove" aria-hidden="true"></span>
               </button>
             </div>
           </form>
@@ -182,7 +182,7 @@ from openedx.core.djangolib.markup import HTML, Text
 <section id="email-settings-modal" class="modal" aria-hidden="true">
   <div class="inner-wrapper" role="dialog" aria-labelledby="email-settings-title">
     <button class="close-modal">
-      <i class="icon fa fa-remove"></i>
+      <span class="icon fa fa-remove" aria-hidden="true"></span>
       <span class="sr">
         ## Translators: this is a control to allow users to exit out of this modal interface (a menu or piece of UI that takes the full focus of the screen)
         ${_("Close")}
@@ -213,7 +213,7 @@ from openedx.core.djangolib.markup import HTML, Text
 <section id="unenroll-modal" class="modal unenroll-modal" aria-hidden="true">
   <div class="inner-wrapper" role="dialog" aria-labelledby="unenrollment-modal-title">
     <button class="close-modal">
-      <i class="icon fa fa-remove"></i>
+      <span class="icon fa fa-remove" aria-hidden="true"></span>
       <span class="sr">
         ## Translators: this is a control to allow users to exit out of this modal interface (a menu or piece of UI that takes the full focus of the screen)
         ${_("Close")}
diff --git a/lms/templates/dashboard/_dashboard_course_listing.html b/lms/templates/dashboard/_dashboard_course_listing.html
index f4c28570f5b..de1e6b354c3 100644
--- a/lms/templates/dashboard/_dashboard_course_listing.html
+++ b/lms/templates/dashboard/_dashboard_course_listing.html
@@ -54,7 +54,7 @@ from student.helpers import (
 <div class="course-container">
  % if course_program_info and course_program_info.get('category')=='xseries':
   <div class="label-xseries-association">
-    <i class="xseries-icon"></i>
+    <span class="xseries-icon" aria-hidden="true"></span>
     <p class="message-copy">${_("{category} Program Course").format(category=course_program_info['display_category'])}</p>
   </div>
  % endif
@@ -157,7 +157,7 @@ from student.helpers import (
                       title="${_('Share on Facebook')}"
                       onclick="window.open('${facebook_url}', '${share_window_name}', '${share_window_config}'); return false;">
                       <span class="sr">${_('Facebook')}</span>
-                      <i class="fa fa-facebook" aria-hidden="true"></i>
+                      <span class="fa fa-facebook" aria-hidden="true"></span>
                     </a>
                 % endif
                 % if share_url and share_settings.get('DASHBOARD_TWITTER', False):
@@ -174,7 +174,7 @@ from student.helpers import (
                       title="${_('Share on Twitter')}"
                       onclick="window.open('${twitter_url}', '${share_window_name}', '${share_window_config}'); return false;">
                       <span class="sr">${_('Twitter')}</span>
-                      <i class="fa fa-twitter" aria-hidden="true"></i>
+                      <span class="fa fa-twitter" aria-hidden="true"></span>
                     </a>
                 % endif
               % endif
@@ -185,7 +185,7 @@ from student.helpers import (
                 <span class="sr">&nbsp;
                   ${course_overview.display_name_with_default}
                 </span>
-                <i class="fa fa-cog" aria-hidden="true"></i>
+                <span class="fa fa-cog" aria-hidden="true"></span>
               </button>
               <div class="actions-dropdown" id="actions-dropdown-${dashboard_index}" tabindex="-1">
                 <ul class="actions-dropdown-list" id="actions-dropdown-list-${dashboard_index}" aria-label="${_('Available Actions')}" role="menu">
@@ -356,7 +356,7 @@ from student.helpers import (
                   % else:
                     <a class="action action-upgrade" href="${reverse('verify_student_upgrade_and_verify', kwargs={'course_id': unicode(course_overview.id)})}" data-course-id="${course_overview.id}" data-user="${user.username}">
                   % endif
-                      <i class="action-upgrade-icon"></i>
+                      <span class="action-upgrade-icon" aria-hidden="true"></span>
                     <span class="wrapper-copy">
                       <span class="copy" id="upgrade-to-verified">${_("Upgrade to Verified")}</span>
                         <span class="sr">&nbsp;${_(course_overview.display_name_with_default)}</span>
diff --git a/lms/templates/dashboard/_dashboard_xseries_info.html b/lms/templates/dashboard/_dashboard_xseries_info.html
index b1967036835..923832cdc18 100644
--- a/lms/templates/dashboard/_dashboard_xseries_info.html
+++ b/lms/templates/dashboard/_dashboard_xseries_info.html
@@ -29,7 +29,7 @@
             <a class="btn ${xseries_btn_class}" href="${program_data['program_marketing_url']}" target="_blank"
                data-program-id="${program_data['program_id']}" >
                 <span class="sr">${program_data['display_name']}</span>
-                <i class="action-xseries-icon" aria-hidden="true"></i>
+                <span class="action-xseries-icon" aria-hidden="true"></span>
                 ${_("View {category} Details").format(category=display_category)}
             </a>
         </div>
diff --git a/lms/templates/discovery/course_card.underscore b/lms/templates/discovery/course_card.underscore
index ffb107f8066..45455962ddb 100644
--- a/lms/templates/discovery/course_card.underscore
+++ b/lms/templates/discovery/course_card.underscore
@@ -3,7 +3,7 @@
         <header class="course-image">
             <div class="cover-image">
                 <img src="<%- image_url %>" alt="<%- content.display_name %> <%- content.number %>" />
-                <div class="learn-more" aria-hidden=true><%- gettext("LEARN MORE") %></div>
+                <div class="learn-more" aria-hidden="true"><%- gettext("LEARN MORE") %></div>
             </div>
         </header>
         <section class="course-info" aria-hidden="true">
diff --git a/lms/templates/discovery/filter.underscore b/lms/templates/discovery/filter.underscore
index 3c823be75d5..e73f50fa56e 100644
--- a/lms/templates/discovery/filter.underscore
+++ b/lms/templates/discovery/filter.underscore
@@ -1,4 +1,4 @@
   <button data-value="<%- query %>" class="facet-option discovery-button" data-type="<%- type %>">
     <span class="query"><%- name %></span>
-    <i aria-hidden="true" class="fa fa-times"></i>
+    <span aria-hidden="true" class="fa fa-times" aria-hidden="true"></span>
   </button>
diff --git a/lms/templates/edxnotes/edxnotes.html b/lms/templates/edxnotes/edxnotes.html
index 1f4bb51d6d4..3c2f0125e66 100644
--- a/lms/templates/edxnotes/edxnotes.html
+++ b/lms/templates/edxnotes/edxnotes.html
@@ -35,7 +35,7 @@ from openedx.core.djangolib.js_utils import dump_js_escaped_json, js_escaped_str
             <label for="search-notes-input" class="sr">${_('Search notes for:')}</label>
             <input type="search" class="search-notes-input" id="search-notes-input" name="note" placeholder="${_('Search notes for...')}" required>
             <button type="submit" class="search-notes-submit">
-              <i class="icon fa fa-search"></i>
+              <span class="icon fa fa-search" aria-hidden="true"></span>
               <span class="sr">${_('Search')}</span>
             </button>
           </form>
@@ -59,7 +59,7 @@ from openedx.core.djangolib.js_utils import dump_js_escaped_json, js_escaped_str
         % if has_notes:
         <div class="ui-loading" tabindex="-1">
           <span class="spin">
-            <i class="icon fa fa-refresh"></i>
+            <span class="icon fa fa-refresh" aria-hidden="true"></span>
           </span>
           <span class="copy">${_("Loading")}</span>
         </div>
diff --git a/lms/templates/edxnotes/tab-item.underscore b/lms/templates/edxnotes/tab-item.underscore
index 8f424d379f1..97053c25087 100644
--- a/lms/templates/edxnotes/tab-item.underscore
+++ b/lms/templates/edxnotes/tab-item.underscore
@@ -1,12 +1,12 @@
 <% var hasIcon = icon ? 1 : 0; %>
 
 <a class="tab-label <% if (hasIcon) { print('has-icon') } %>" href="#">
-  <% if (hasIcon) { %><i class="icon <%= icon %>" aria-hidden="true"></i> <% } %><%- gettext(name) %>
+  <% if (hasIcon) { %><span class="icon <%= icon %>" aria-hidden="true"></span> <% } %><%- gettext(name) %>
 </a>
 
 <% if (is_closable) { %>
   <a href="#" class="action-close">
-    <i class="icon fa fa-times-circle"></i>
+    <span class="icon fa fa-times-circle" aria-hidden="true"></span>
     <span class="sr"><%- gettext("Clear search results") %></span>
   </a>
 <% } %>
diff --git a/lms/templates/edxnotes/toggle_notes.html b/lms/templates/edxnotes/toggle_notes.html
index 7ea4c4c50c4..f58adec8a5a 100644
--- a/lms/templates/edxnotes/toggle_notes.html
+++ b/lms/templates/edxnotes/toggle_notes.html
@@ -13,7 +13,7 @@ from openedx.core.djangolib.js_utils import dump_js_escaped_json, js_escaped_str
 <div class="wrapper-utility edx-notes-visibility">
   <span class="action-toggle-message" aria-live="polite"></span>
   <button class="utility-control utility-control-button action-toggle-notes is-disabled ${"is-active" if edxnotes_visibility else ""}">
-    <i class="icon fa fa-pencil"></i>
+    <span class="icon fa fa-pencil" aria-hidden="true"></span>
     % if edxnotes_visibility:
     <span class="utility-control-label sr">${_("Hide notes")}</span>
     % else:
diff --git a/lms/templates/fields/field_dropdown.underscore b/lms/templates/fields/field_dropdown.underscore
index 6d72bafb34b..8f0c61f5b2d 100644
--- a/lms/templates/fields/field_dropdown.underscore
+++ b/lms/templates/fields/field_dropdown.underscore
@@ -11,7 +11,7 @@
 <% } %>
 
 <% if (iconName) { %>
-    <i class="u-field-icon icon fa <%- iconName %> fa-fw" aria-hidden="true"></i>
+    <span class="u-field-icon icon fa <%- iconName %> fa-fw" aria-hidden="true"></span>
 <% } %>
 
 <span class="u-field-value">
diff --git a/lms/templates/forgot_password_modal.html b/lms/templates/forgot_password_modal.html
index 660d30d5e30..a18db5db4a1 100644
--- a/lms/templates/forgot_password_modal.html
+++ b/lms/templates/forgot_password_modal.html
@@ -8,7 +8,7 @@ from django.core.urlresolvers import reverse
 <section id="forgot-password-modal" class="modal" role="dialog" tabindex="-1" aria-label="${_('Password Reset')}">
   <div class="inner-wrapper">
     <button class="close-modal">
-      <i class="icon fa fa-remove"></i>
+      <span class="icon fa fa-remove" aria-hidden="true"></span>
       <span class="sr">
         ## Translators: this is a control to allow users to exit out of this modal interface (a menu or piece of UI that takes the full focus of the screen)
         ${_('Close')}
diff --git a/lms/templates/help_modal.html b/lms/templates/help_modal.html
index b8ab37971a1..3c4218e3ca3 100644
--- a/lms/templates/help_modal.html
+++ b/lms/templates/help_modal.html
@@ -22,7 +22,7 @@ from xmodule.tabs import CourseTabList
   <div class="inner-wrapper" id="help_wrapper">
     ## TODO: find a way to refactor this
     <button class="close-modal "tabindex="0">
-      <i class="icon fa fa-remove"></i>
+      <span class="icon fa fa-remove" aria-hidden="true"></span>
       <span class="sr">
         ## Translators: this is a control to allow users to exit out of this modal interface (a menu or piece of UI that takes the full focus of the screen)
         ${_('Close')}
@@ -86,7 +86,7 @@ from xmodule.tabs import CourseTabList
 
   <div class="inner-wrapper" id="feedback_form_wrapper">
     <button class="close-modal">
-      <i class="icon fa fa-remove"></i>
+      <span class="icon fa fa-remove" aria-hidden="true"></span>
       <span class="sr">
         ## Translators: this is a control to allow users to exit out of this modal interface (a menu or piece of UI that takes the full focus of the screen)
         ${_('Close')}
@@ -120,7 +120,7 @@ from xmodule.tabs import CourseTabList
 
   <div class="inner-wrapper" id="feedback_success_wrapper" tabindex="0">
     <button class="close-modal" tabindex="0">
-      <i class="icon fa fa-remove"></i>
+      <span class="icon fa fa-remove" aria-hidden="true"></span>
       <span class="sr">
         ## Translators: this is a control to allow users to exit out of this modal interface (a menu or piece of UI that takes the full focus of the screen)
         ${_('Close')}
diff --git a/lms/templates/index.html b/lms/templates/index.html
index fd2e2ec4599..db5389e7a09 100644
--- a/lms/templates/index.html
+++ b/lms/templates/index.html
@@ -30,7 +30,7 @@ from openedx.core.djangolib.markup import HTML, Text
                     <input class="search-input" name="search_query" type="text" placeholder="${_("Search for a course")}"></input>
                   </label>
                   <button class="search-button" type="submit">
-                    <i class="icon fa fa-search" aria-hidden="true"></i><span class="sr">${_("Search")}</span>
+                    <span class="icon fa fa-search" aria-hidden="true"></span><span class="sr">${_("Search")}</span>
                   </button>
                 </form>
               </div>
diff --git a/lms/templates/instructor/instructor_dashboard_2/add_coupon_modal.html b/lms/templates/instructor/instructor_dashboard_2/add_coupon_modal.html
index 948f6ec702a..543498f29ea 100644
--- a/lms/templates/instructor/instructor_dashboard_2/add_coupon_modal.html
+++ b/lms/templates/instructor/instructor_dashboard_2/add_coupon_modal.html
@@ -6,7 +6,7 @@ from django.core.urlresolvers import reverse
 <section id="add-coupon-modal" class="modal" role="dialog" tabindex="-1" aria-label="${_('Add Coupon Code')}">
   <div class="inner-wrapper">
     <button class="close-modal">
-      <i class="icon fa fa-remove"></i>
+      <span class="icon fa fa-remove" aria-hidden="true"></span>
       <span class="sr">
         ## Translators: this is a control to allow users to exit out of this modal interface (a menu or piece of UI that takes the full focus of the screen)
         ${_('Close')}
diff --git a/lms/templates/instructor/instructor_dashboard_2/certificates.html b/lms/templates/instructor/instructor_dashboard_2/certificates.html
index 282aa49fa0b..de2f969b707 100644
--- a/lms/templates/instructor/instructor_dashboard_2/certificates.html
+++ b/lms/templates/instructor/instructor_dashboard_2/certificates.html
@@ -174,7 +174,7 @@ from openedx.core.djangolib.js_utils import dump_js_escaped_json, js_escaped_str
             <div class="bulk-white-list-exception"></div>
             <div class="white-listed-students" id="white-listed-students">
                 <div class="ui-loading">
-                    <span class="spin"><i class="icon fa fa-refresh" aria-hidden="true"></i></span> <span class="copy">${_('Loading')}</span>
+                    <span class="spin"><span class="icon fa fa-refresh" aria-hidden="true"></span></span> <span class="copy">${_('Loading')}</span>
                 </div>
             </div>
             <br/>
@@ -188,7 +188,7 @@ from openedx.core.djangolib.js_utils import dump_js_escaped_json, js_escaped_str
         <h2> ${_("Invalidate Certificates")} </h2>
         <div id="certificate-invalidation">
             <div class="ui-loading">
-                <span class="spin"><i class="icon fa fa-refresh" aria-hidden="true"></i></span> <span class="copy">${_('Loading')}</span>
+                <span class="spin"><span class="icon fa fa-refresh" aria-hidden="true"></span></span> <span class="copy">${_('Loading')}</span>
             </div>
         </div>
     </div>
diff --git a/lms/templates/instructor/instructor_dashboard_2/cohort-editor.underscore b/lms/templates/instructor/instructor_dashboard_2/cohort-editor.underscore
index d10f2f46f01..8d747cf0fdc 100644
--- a/lms/templates/instructor/instructor_dashboard_2/cohort-editor.underscore
+++ b/lms/templates/instructor/instructor_dashboard_2/cohort-editor.underscore
@@ -35,7 +35,7 @@
 
             <div class="form-actions">
                 <button class="form-submit button action-primary action-view">
-                    <i class="button-icon icon fa fa-plus" aria-hidden="true"></i> <%- gettext('Add Students') %>
+                    <span class="button-icon icon fa fa-plus" aria-hidden="true"></span> <%- gettext('Add Students') %>
                 </button>
             </div>
         </form>
diff --git a/lms/templates/instructor/instructor_dashboard_2/cohort-form.underscore b/lms/templates/instructor/instructor_dashboard_2/cohort-form.underscore
index 0643d26b3b9..285b64b9d6a 100644
--- a/lms/templates/instructor/instructor_dashboard_2/cohort-form.underscore
+++ b/lms/templates/instructor/instructor_dashboard_2/cohort-form.underscore
@@ -51,7 +51,7 @@
                 </div>
                 <% if (isDefaultCohort) { %>
                     <p class="copy-error">
-                        <i class="icon fa fa-exclamation-triangle" aria-hidden="true"></i>
+                        <span class="icon fa fa-exclamation-triangle" aria-hidden="true"></span>
                         <%- gettext("There must be one cohort to which students can automatically be assigned.") %>
                     </p>
                 <% } %>
@@ -96,7 +96,7 @@
                                 <% if (hasSelectedContentGroup && !foundSelected) { %>
                                     <div class="msg-inline">
                                         <p class="copy-error">
-                                            <i class="icon fa fa-exclamation-triangle" aria-hidden="true"></i>
+                                            <span class="icon fa fa-exclamation-triangle" aria-hidden="true"></span>
                                             <%=
                                             HtmlUtils.interpolateHtml(
                                                 // Translators: Any text between {screen_reader_start} and {screen_reader_end} is only read by screen readers and never shown in the browser.
@@ -115,7 +115,7 @@
                             <div class="input-group-other">
                                 <div class="msg-inline">
                                     <p class="copy-error">
-                                        <i class="icon fa fa-exclamation-triangle" aria-hidden="true"></i>
+                                        <span class="icon fa fa-exclamation-triangle" aria-hidden="true"></span>
                                         <%=
                                         HtmlUtils.interpolateHtml(
                                             // Translators: Any text between {screen_reader_start} and {screen_reader_end} is only read by screen readers and never shown in the browser.
diff --git a/lms/templates/instructor/instructor_dashboard_2/cohorts.underscore b/lms/templates/instructor/instructor_dashboard_2/cohorts.underscore
index f6b6d6f993a..7ca01ef3f77 100644
--- a/lms/templates/instructor/instructor_dashboard_2/cohorts.underscore
+++ b/lms/templates/instructor/instructor_dashboard_2/cohorts.underscore
@@ -18,7 +18,7 @@
         </form>
 
         <button class="button action-primary action-create">
-            <i class="icon fa fa-plus" aria-hidden="true"></i>
+            <span class="icon fa fa-plus" aria-hidden="true"></span>
             <%- gettext('Add Cohort') %>
         </button>
     </div>
@@ -39,7 +39,7 @@
 
         <div class="cohort-management-supplemental">
             <p class="">
-                <i class="icon fa fa-info-circle" aria-hidden="true"></i>
+                <span class="icon fa fa-info-circle" aria-hidden="true"></span>
                 <%= HtmlUtils.interpolateHtml(
                     gettext('To review student cohort assignments or see the results of uploading a CSV file, download course profile information or cohort results on {link_start} the Data Download page. {link_end}'),
                     {
diff --git a/lms/templates/instructor/instructor_dashboard_2/edit_coupon_modal.html b/lms/templates/instructor/instructor_dashboard_2/edit_coupon_modal.html
index de1fb662d20..14ccb9b03eb 100644
--- a/lms/templates/instructor/instructor_dashboard_2/edit_coupon_modal.html
+++ b/lms/templates/instructor/instructor_dashboard_2/edit_coupon_modal.html
@@ -6,7 +6,7 @@ from django.core.urlresolvers import reverse
 <section id="edit-coupon-modal" class="modal" role="dialog" tabindex="-1" aria-label="${_('Edit Coupon Code')}">
   <div class="inner-wrapper">
     <button class="close-modal">
-      <i class="icon fa fa-remove"></i>
+      <span class="icon fa fa-remove" aria-hidden="true"></span>
       <span class="sr">
         ## Translators: this is a control to allow users to exit out of this modal interface (a menu or piece of UI that takes the full focus of the screen)
         ${_('Close')}
diff --git a/lms/templates/instructor/instructor_dashboard_2/generate_registarion_codes_modal.html b/lms/templates/instructor/instructor_dashboard_2/generate_registarion_codes_modal.html
index 1ec7b50c169..13a15fa6288 100644
--- a/lms/templates/instructor/instructor_dashboard_2/generate_registarion_codes_modal.html
+++ b/lms/templates/instructor/instructor_dashboard_2/generate_registarion_codes_modal.html
@@ -6,7 +6,7 @@ from django.core.urlresolvers import reverse
 <section id="registration_code_generation_modal" class="modal" role="dialog" tabindex="-1" aria-label="${_('Generate Registration Code Modal')}">
   <div class="inner-wrapper">
     <button class="close-modal">
-      <i class="icon fa fa-remove"></i>
+      <span class="icon fa fa-remove" aria-hidden="true"></span>
       <span class="sr">
         ## Translators: this is a control to allow users to exit out of this modal interface (a menu or piece of UI that takes the full focus of the screen)
         ${_('Close')}
diff --git a/lms/templates/instructor/instructor_dashboard_2/invalidate_registration_code_modal.html b/lms/templates/instructor/instructor_dashboard_2/invalidate_registration_code_modal.html
index 2c0fca00f9a..cb23de32e29 100644
--- a/lms/templates/instructor/instructor_dashboard_2/invalidate_registration_code_modal.html
+++ b/lms/templates/instructor/instructor_dashboard_2/invalidate_registration_code_modal.html
@@ -4,7 +4,7 @@
 <section id="invalidate_registration_code_modal" class="modal" role="dialog" tabindex="-1" aria-label="${_('Enrollment Code Status')}">
   <div class="inner-wrapper">
     <button class="close-modal">
-      <i class="icon fa fa-remove"></i>
+      <span class="icon fa fa-remove" aria-hidden="true"></span>
       <span class="sr">
         ## Translators: this is a control to allow users to exit out of this modal interface (a menu or piece of UI that takes the full focus of the screen)
         ${_('Close')}
diff --git a/lms/templates/instructor/instructor_dashboard_2/metrics.html b/lms/templates/instructor/instructor_dashboard_2/metrics.html
index 5eee8e05e1a..922442bf7e6 100644
--- a/lms/templates/instructor/instructor_dashboard_2/metrics.html
+++ b/lms/templates/instructor/instructor_dashboard_2/metrics.html
@@ -57,7 +57,7 @@ from django.template.defaultfilters import escapejs
           </div>
           <input class="download-csv metrics-student-opened" type="button" name="dump_student_opened" value="${_("Download Student Opened as a CSV")}" data-endpoint="${section_data['get_students_opened_subsection_url']}" data-csv="true">
           <input class="download-csv metrics-student-grades" type="button" name="dump_student_grades" value="${_("Download Student Grades as a CSV")}" data-endpoint="${section_data['get_students_problem_grades_url']}" data-csv="true">
-          <a class="close-button" href="#"><i class="icon fa fa-remove"></i><span class="sr">${_("Close")}</span></a>
+          <a class="close-button" href="#"><span class="icon fa fa-remove" aria-hidden="true"></span><span class="sr">${_("Close")}</span></a>
       </div>
       </div>
     </div>
@@ -154,7 +154,7 @@ from django.template.defaultfilters import escapejs
         var nothingText = "${_('There are no problems in this section.')}";
         var loadingText = "${_('Loading')}";
         var nothingP = '<p class="nothing">' + nothingText  + '</p>';
-        var loading = '<p class="loading"><i class="icon fa fa-spinner fa-spin fa-large"></i>' + loadingText + '</p>';
+        var loading = '<p class="loading"><span class="icon fa fa-spinner fa-spin fa-large" aria-hidden="true"></span>' + loadingText + '</p>';
 
         // Display spinners or "There are no problems in this section" message
         $('.metrics-left').each(function() {
diff --git a/lms/templates/instructor/instructor_dashboard_2/notification.underscore b/lms/templates/instructor/instructor_dashboard_2/notification.underscore
index 94f791e7108..2238d57745b 100644
--- a/lms/templates/instructor/instructor_dashboard_2/notification.underscore
+++ b/lms/templates/instructor/instructor_dashboard_2/notification.underscore
@@ -22,7 +22,7 @@
         <div class="message-actions">
             <button class="action-primary <%- actionClass %>">
                 <% if (actionIconClass) { %>
-                    <i class="icon fa <%- actionIconClass %>"></i>
+                    <span class="icon fa <%- actionIconClass %>" aria-hidden="true"></span>
                 <% } %>
                 <%- actionText %>
             </button>
diff --git a/lms/templates/instructor/instructor_dashboard_2/set_course_mode_price_modal.html b/lms/templates/instructor/instructor_dashboard_2/set_course_mode_price_modal.html
index 378e85ca635..0f5a8b3dbad 100644
--- a/lms/templates/instructor/instructor_dashboard_2/set_course_mode_price_modal.html
+++ b/lms/templates/instructor/instructor_dashboard_2/set_course_mode_price_modal.html
@@ -6,7 +6,7 @@ from django.core.urlresolvers import reverse
 <section id="set-course-mode-price-modal" class="modal" role="dialog" tabindex="-1" aria-label="${_('Set Course Mode Price')}">
   <div class="inner-wrapper">
     <button class="close-modal">
-      <i class="icon fa fa-remove"></i>
+      <span class="icon fa fa-remove" aria-hidden="true"></span>
       <span class="sr">
         ## Translators: this is a control to allow users to exit out of this modal interface (a menu or piece of UI that takes the full focus of the screen)
         ${_('Close')}
diff --git a/lms/templates/learner_dashboard/explore_new_programs.underscore b/lms/templates/learner_dashboard/explore_new_programs.underscore
index 932451f9a7d..00bc5afec37 100644
--- a/lms/templates/learner_dashboard/explore_new_programs.underscore
+++ b/lms/templates/learner_dashboard/explore_new_programs.underscore
@@ -3,7 +3,7 @@
 </div>
 <div class="ad-link">
     <a href="<%- xseriesUrl %>" class="btn-neutral">
-        <i class="icon fa fa-search" aria-hidden="true"></i> 
+        <span class="icon fa fa-search" aria-hidden="true"></span>
         <span><%- gettext('Explore New XSeries') %></span>
     </a>
 </div>
diff --git a/lms/templates/lti.html b/lms/templates/lti.html
index e41642320e8..77098876c12 100644
--- a/lms/templates/lti.html
+++ b/lms/templates/lti.html
@@ -35,7 +35,7 @@ from django.utils.translation import ugettext as _
             % endif
             <p class="lti-link external"><a target="_blank" class="link_lti_new_window" href="${form_url}">
                 ${button_text or _('View resource in a new window')}
-                 <i class="icon fa fa-external-link"></i>
+                 <span class="icon fa fa-external-link" aria-hidden="true"></span>
             </a></p>
         </div>
     % else:
diff --git a/lms/templates/modal/_modal-settings-language.html b/lms/templates/modal/_modal-settings-language.html
index 265a201908f..0a3055c7ed2 100644
--- a/lms/templates/modal/_modal-settings-language.html
+++ b/lms/templates/modal/_modal-settings-language.html
@@ -7,7 +7,7 @@ from django.core.urlresolvers import reverse
 <section id="change_language" class="modal modal-settings-language" aria-hidden="true">
   <div class="inner-wrapper" role="dialog" aria-labelledby="change_language_title">
     <button class="close-modal">
-      <i class="icon fa fa-remove"></i>
+      <span class="icon fa fa-remove" aria-hidden="true"></span>
       <span class="sr">
         ## Translators: this is a control to allow users to exit out of this modal interface (a menu or piece of UI that takes the full focus of the screen)
         ${_('Close')}
diff --git a/lms/templates/modal/accessible_confirm.html b/lms/templates/modal/accessible_confirm.html
index c42dd48e504..913cb091fa9 100644
--- a/lms/templates/modal/accessible_confirm.html
+++ b/lms/templates/modal/accessible_confirm.html
@@ -2,7 +2,7 @@
 <div id="accessibile-confirm-modal" class="modal" aria-hidden="true">
   <div class="inner-wrapper" role="dialog" aria-labelledby="accessibile-confirm-title">
     <button class="close-modal">
-      <i class="icon fa fa-remove"></i>
+      <span class="icon fa fa-remove" aria-hidden="true"></span>
       <span class="sr">
         ## Translators: this is a control to allow users to exit out of this modal interface (a menu or piece of UI that takes the full focus of the screen)
         ${_('Close')}
diff --git a/lms/templates/navigation.html b/lms/templates/navigation.html
index 785e16631d5..7655a3bbefd 100644
--- a/lms/templates/navigation.html
+++ b/lms/templates/navigation.html
@@ -114,7 +114,7 @@ site_status_msg = get_site_status_msg(course_id)
         <ol class="user">
           <li class="primary">
             <a class="shopping-cart" href="${reverse('shoppingcart.views.show_cart')}">
-              <i class="icon fa fa-shopping-cart"></i> ${_("Shopping Cart")}
+              <span class="icon fa fa-shopping-cart" aria-hidden="true"></span> ${_("Shopping Cart")}
             </a>
           </li>
         </ol>
diff --git a/lms/templates/search/course_search_item.underscore b/lms/templates/search/course_search_item.underscore
index 682f65f5b8f..a2965d439fe 100644
--- a/lms/templates/search/course_search_item.underscore
+++ b/lms/templates/search/course_search_item.underscore
@@ -1,4 +1,4 @@
 <div class="result-excerpt"><%= excerpt %></div>
-<a class="result-link" href="<%- url %>"><%= gettext("View") %> <i class="icon fa fa-arrow-right"></i></a>
+<a class="result-link" href="<%- url %>"><%= gettext("View") %> <span class="icon fa fa-arrow-right" aria-hidden="true"></span></a>
 <span class="result-location"><%- location.join(' â–¸ ') %></span>
 <span class="result-type"><%- content_type %></span>
diff --git a/lms/templates/search/course_search_results.underscore b/lms/templates/search/course_search_results.underscore
index d8c7e4bf24e..d705866ecc7 100644
--- a/lms/templates/search/course_search_results.underscore
+++ b/lms/templates/search/course_search_results.underscore
@@ -14,7 +14,7 @@
                 { num_items: pageSize },
                 true
             ) %>
-            <i class="icon fa fa-spinner fa-spin"></i>
+            <span class="icon fa fa-spinner fa-spin" aria-hidden="true"></span>
         </a>
     <% } %>
 
diff --git a/lms/templates/search/dashboard_search_item.underscore b/lms/templates/search/dashboard_search_item.underscore
index 637070f22df..d4517149f38 100644
--- a/lms/templates/search/dashboard_search_item.underscore
+++ b/lms/templates/search/dashboard_search_item.underscore
@@ -1,5 +1,5 @@
 <div class="result-excerpt"><%= excerpt %></div>
-<a class="result-link" href="<%- url %>"><%= gettext("View") %> <i class="icon fa fa-arrow-right"></i></a>
+<a class="result-link" href="<%- url %>"><%= gettext("View") %> <span class="icon fa fa-arrow-right" aria-hidden="true"></span></a>
 <span class="result-course-name"><%- course_name %>:</span>
 <span class="result-location"><%- location.join(' â–¸ ') %></span>
 <span class="result-type"><%- content_type %></span>
diff --git a/lms/templates/search/dashboard_search_results.underscore b/lms/templates/search/dashboard_search_results.underscore
index 37eae9ac310..7c08d6e83f1 100644
--- a/lms/templates/search/dashboard_search_results.underscore
+++ b/lms/templates/search/dashboard_search_results.underscore
@@ -15,7 +15,7 @@
                 { num_items: pageSize },
                 true
             ) %>
-            <i class="icon fa fa-spinner fa-spin"></i>
+            <span class="icon fa fa-spinner fa-spin" aria-hidden="true"></span>
         </a>
     <% } %>
 
diff --git a/lms/templates/search/search_loading.underscore b/lms/templates/search/search_loading.underscore
index d301f39a387..690f285029b 100644
--- a/lms/templates/search/search_loading.underscore
+++ b/lms/templates/search/search_loading.underscore
@@ -1,2 +1,2 @@
-<i class="icon fa fa-spinner fa-spin"></i> <%= gettext("Loading") %>
+<span class="icon fa fa-spinner fa-spin" aria-hidden="true"></span> <%= gettext("Loading") %>
 
diff --git a/lms/templates/seq_module.html b/lms/templates/seq_module.html
index 9629c67859b..ad68d556884 100644
--- a/lms/templates/seq_module.html
+++ b/lms/templates/seq_module.html
@@ -21,8 +21,8 @@
            data-page-title="${item['page_title']}"
            data-path="${item['path']}"
            id="tab_${idx}">
-            <i class="icon fa seq_${item['type']}" aria-hidden="true"></i>
-            <i class="fa fa-fw fa-bookmark bookmark-icon ${"is-hidden" if not item['bookmarked'] else "bookmarked"}" aria-hidden="true"></i>
+            <span class="icon fa seq_${item['type']}" aria-hidden="true"></span>
+            <span class="fa fa-fw fa-bookmark bookmark-icon ${"is-hidden" if not item['bookmarked'] else "bookmarked"}" aria-hidden="true"></span>
             <div class="sequence-tooltip sr"><span class="sr">${item['type']}&nbsp;</span>${item['page_title']}<span class="sr bookmark-icon-sr">&nbsp;${_("Bookmarked") if item['bookmarked'] else ""}</span></div>
           </button>
         </li>
diff --git a/lms/templates/shoppingcart/cybersource_form.html b/lms/templates/shoppingcart/cybersource_form.html
index 7a176b5a2a8..c42de3354fa 100644
--- a/lms/templates/shoppingcart/cybersource_form.html
+++ b/lms/templates/shoppingcart/cybersource_form.html
@@ -4,5 +4,5 @@
             <input type="hidden" name="${pk}" value="${pv}" />
         % endfor
 
-        <button type="submit">${_('Payment')}<i class="icon fa fa-caret-right" aria-hidden="true"></i></button>
+        <button type="submit">${_('Payment')}<span class="icon fa fa-caret-right" aria-hidden="true"></span></button>
     </form>
diff --git a/lms/templates/shoppingcart/receipt.html b/lms/templates/shoppingcart/receipt.html
index 181268858f3..08e213e3c8f 100644
--- a/lms/templates/shoppingcart/receipt.html
+++ b/lms/templates/shoppingcart/receipt.html
@@ -32,7 +32,7 @@ from openedx.core.lib.courses import course_image_url
            ## in case of multiple courses in single self purchase scenario,
            ## we will show the button View Dashboard
           <% dashboard_url = reverse('dashboard') %>
-          <a href="${dashboard_url}" class="blue pull-right">${_("View Dashboard")} <i class="icon fa fa-caret-right"></i></a>
+          <a href="${dashboard_url}" class="blue pull-right">${_("View Dashboard")} <span class="icon fa fa-caret-right" aria-hidden="true"></span></a>
           <span class="mt-7">
             ${_(u"You have successfully been enrolled for {course_names}. "
                 u"The following receipt has been emailed to {receipient_emails}").format(
@@ -99,7 +99,7 @@ from openedx.core.lib.courses import course_image_url
     %endif
     <div class="bordered-bar">
       <h2>${_('Invoice')} #${order.id}<span>${_('Date of purchase')}: ${order_purchase_date} </span><span
-          class="pull-right"><a href="" onclick="window.print();" class="blue-link"><i class="icon fa fa-print"></i> ${_('Print Receipt')}</a></span>
+          class="pull-right"><a href="" onclick="window.print();" class="blue-link"><span class="icon fa fa-print" aria-hidden="true"></span> ${_('Print Receipt')}</a></span>
       </h2>
     </div>
     % if order.total_cost > 0:
diff --git a/lms/templates/shoppingcart/registration_code_receipt.html b/lms/templates/shoppingcart/registration_code_receipt.html
index 14a6c889dfc..df9359ba21e 100644
--- a/lms/templates/shoppingcart/registration_code_receipt.html
+++ b/lms/templates/shoppingcart/registration_code_receipt.html
@@ -80,12 +80,12 @@ from openedx.core.lib.courses import course_image_url
       % if not reg_code_already_redeemed:
         %if redemption_success:
           <% course_url = reverse('info', args=[course.id.to_deprecated_string()]) %>
-          <a href="${course_url}" class="link-button course-link-bg-color">${_("View Course")} <i class="icon fa fa-caret-right" aria-hidden="true"></i></a>
+          <a href="${course_url}" class="link-button course-link-bg-color">${_("View Course")} <span class="icon fa fa-caret-right" aria-hidden="true"></span></a>
         %elif not registered_for_course:
           <form method="post">
             <input type="hidden" name="csrfmiddlewaretoken" value="${ csrf_token }">
             <button type="submit" id="id_active_course_enrollment"
-               name="active_course_enrollment">${_("Activate Course Enrollment")} <i class="icon fa fa-caret-right" aria-hidden="true"></i></button>
+               name="active_course_enrollment">${_("Activate Course Enrollment")} <span class="icon fa fa-caret-right" aria-hidden="true"></span></button>
           </form>
         %endif
       %endif
diff --git a/lms/templates/shoppingcart/registration_code_redemption.html b/lms/templates/shoppingcart/registration_code_redemption.html
index 05e16e79bab..c2c3213db7b 100644
--- a/lms/templates/shoppingcart/registration_code_redemption.html
+++ b/lms/templates/shoppingcart/registration_code_redemption.html
@@ -87,13 +87,13 @@ from openedx.core.lib.courses import course_image_url
       </div>
       % if not reg_code_already_redeemed:
         %if redemption_success:
-          <a href="${reverse('dashboard')}" class="link-button course-link-bg-color">${_("View Dashboard")} <i class="icon fa fa-caret-right" aria-hidden="true"></i></a>
+          <a href="${reverse('dashboard')}" class="link-button course-link-bg-color">${_("View Dashboard")} <span class="icon fa fa-caret-right" aria-hidden="true"></span></a>
         %elif not registered_for_course:
           <form method="post">
             <input type="hidden" name="csrfmiddlewaretoken" value="${ csrf_token }" aria-hidden="true">
             <button type="submit"
                id="id_active_course_enrollment"
-               name="active_course_enrollment">${_("Activate Course Enrollment")} <i class="icon fa fa-caret-right" aria-hidden="true"></i></button>
+               name="active_course_enrollment">${_("Activate Course Enrollment")} <span class="icon fa fa-caret-right" aria-hidden="true"></span></button>
           </form>
         %endif
       %endif
diff --git a/lms/templates/shoppingcart/shopping_cart.html b/lms/templates/shoppingcart/shopping_cart.html
index 4f29e9017f6..3b74f00ea4c 100644
--- a/lms/templates/shoppingcart/shopping_cart.html
+++ b/lms/templates/shoppingcart/shopping_cart.html
@@ -107,11 +107,11 @@ from openedx.core.lib.courses import course_image_url
                       <input maxlength="3" class="spin-counter" title="${_('Input quantity and press enter.')}" max="999" type="text" name="students" value="${item.qty}" id="field_${item.id}" data-unit-cost="${item.unit_cost}" data-qty="${item.qty}" data-item-id="${item.id}" aria-describedby="students-${item.id}">
                   </div>
                   <button class="inc button" data-operation="inc">
-                    <i class="icon fa fa-caret-up" aria-hidden="true"><span>+</span></i>
+                    <span class="icon fa fa-caret-up" aria-hidden="true"><span>+</span></span>
                     <span class="sr">${_('Increase')}</span>
                   </button>
                   <button class="dec button" data-operation="dec">
-                    <i class="icon fa fa-caret-down"></i>
+                    <span class="icon fa fa-caret-down" aria-hidden="true"></span>
                     <span class="sr">${_('Decrease')}</span>
                   </button>
                       <!--<a name="updateBtn" class="updateBtn hidden" id="updateBtn-${item.id}" href="#">update</a>-->
@@ -121,7 +121,7 @@ from openedx.core.lib.courses import course_image_url
 
               <div class="col-3">
                  <button href="#" class="btn-remove" data-item-id="${item.id}">
-                  <i class="icon fa fa-times-circle" aria-hidden="true"></i>
+                  <span class="icon fa fa-times-circle" aria-hidden="true"></span>
                   <span class="sr">${_('Remove')}</span>
                 </button>
               </div>
@@ -143,7 +143,7 @@ from openedx.core.lib.courses import course_image_url
               </div>
             % else:
               <div class="code-applied">
-                <span class="green"><i class="icon fa fa-check-square-o" aria-hidden="true"></i>${_('code has been applied')}</span>
+                <span class="green"><span class="icon fa fa-check-square-o" aria-hidden="true"></span>${_('code has been applied')}</span>
                 <button type="submit" class="blue-border" id="submit-reset-redemption">${_('Reset')}</button>
               </div>
             % endif
@@ -163,7 +163,7 @@ from openedx.core.lib.courses import course_image_url
                   <div name="billing">
                       <button type="submit" name="billing-details" aria-describedby="billing_business_helper_text">
                         ${_('Billing Details')}
-                        <i class="icon fa fa-caret-right" aria-hidden="true"></i>
+                        <span class="icon fa fa-caret-right" aria-hidden="true"></span>
                       </button>
                       <p id="billing_business_helper_text">
                           ${_('After this purchase is complete, a receipt is generated with relative billing details and registration codes for students.')}
@@ -187,7 +187,7 @@ from openedx.core.lib.courses import course_image_url
                   <div name="billing" class="hidden">
                       <button type="submit" name="billing-details" aria-describedby="billing_helper_text">
                         ${_('Billing Details')}
-                        <i class="icon fa fa-caret-right" aria-hidden="true"></i>
+                        <span class="icon fa fa-caret-right" aria-hidden="true"></span>
                       </button>
                       <p id="billing_helper_text">
                           ${_('After this purchase is complete, a receipt is generated with relative billing details and registration codes for students.')}
diff --git a/lms/templates/signup_modal.html b/lms/templates/signup_modal.html
index 49f0b30946a..4fa8da2b186 100644
--- a/lms/templates/signup_modal.html
+++ b/lms/templates/signup_modal.html
@@ -11,7 +11,7 @@ import calendar
 <section id="signup-modal" class="modal signup-modal">
   <div class="inner-wrapper">
     <button class="close-modal">
-      <i class="icon fa fa-remove"></i>
+      <span class="icon fa fa-remove" aria-hidden="true"></span>
       <span class="sr">
         ## Translators: this is a control to allow users to exit out of this modal interface (a menu or piece of UI that takes the full focus of the screen)
         ${_('Close')}
diff --git a/lms/templates/student_account/account_settings_section.underscore b/lms/templates/student_account/account_settings_section.underscore
index eb7f420a82a..e6f763d21db 100644
--- a/lms/templates/student_account/account_settings_section.underscore
+++ b/lms/templates/student_account/account_settings_section.underscore
@@ -6,11 +6,11 @@
         <h3 class="section-header"><%- gettext(section.title) %></h3>
         <div class="account-settings-section-body">
             <div class="ui-loading-indicator">
-                <span class="spin"><span class="icon fa fa-refresh" aria-hidden=true></span></span>
+                <span class="spin"><span class="icon fa fa-refresh" aria-hidden="true"></span></span>
                 <span class="copy"><%- gettext("Loading") %></span>
             </div>
             <div class="ui-loading-error is-hidden">
-                <span class="fa fa-exclamation-triangle message-error" aria-hidden=true></span>
+                <span class="fa fa-exclamation-triangle message-error" aria-hidden="true"></span>
                 <span class="copy"><%- gettext("An error occurred. Please reload the page.") %></span>
             </div>
         </div>
diff --git a/lms/templates/student_profile/learner_profile.html b/lms/templates/student_profile/learner_profile.html
index 1f5e5a2f580..ae3260a16b9 100644
--- a/lms/templates/student_profile/learner_profile.html
+++ b/lms/templates/student_profile/learner_profile.html
@@ -17,7 +17,7 @@ from openedx.core.djangolib.js_utils import dump_js_escaped_json
 <main id="main" aria-label="Content" tabindex="-1">
     <div class="wrapper-profile">
         <div class="ui-loading-indicator">
-            <p><span class="spin"><i class="icon fa fa-refresh" aria-hidden="true"></i></span> <span class="copy">${_("Loading")}</span></p>
+            <p><span class="spin"><span class="icon fa fa-refresh" aria-hidden="true"></span></span> <span class="copy">${_("Loading")}</span></p>
         </div>
     </div>
 </main>
diff --git a/lms/templates/student_profile/learner_profile.underscore b/lms/templates/student_profile/learner_profile.underscore
index a8050a6d92b..aee4339e4cb 100644
--- a/lms/templates/student_profile/learner_profile.underscore
+++ b/lms/templates/student_profile/learner_profile.underscore
@@ -8,7 +8,7 @@
             </div>
         </div>
         <div class="ui-loading-error is-hidden">
-            <i class="fa fa-exclamation-triangle message-error" aria-hidden=true></i>
+            <span class="fa fa-exclamation-triangle message-error" aria-hidden="true"></span>
             <span class="copy"><%- gettext("An error occurred. Try loading the page again.") %></span>
         </div>
     </div>
diff --git a/lms/templates/student_profile/share_modal.underscore b/lms/templates/student_profile/share_modal.underscore
index 402756bb265..6034e3e8bf7 100644
--- a/lms/templates/student_profile/share_modal.underscore
+++ b/lms/templates/student_profile/share_modal.underscore
@@ -1,6 +1,6 @@
 <div class="focusguard focusguard-start" tabindex="0"></div>
 <div class="badges-modal" tabindex="0">
-        <button class="close"><i class="fa fa-close" aria-hidden="true"></i><span class="sr"><%- gettext("Close") %></span></button>
+        <button class="close"><span class="fa fa-close" aria-hidden="true"></span><span class="sr"><%- gettext("Close") %></span></button>
     <h1 class="modal-header"><%- gettext("Share on Mozilla Backpack") %></h1>
     <p class="explanation"><%- gettext("To share your certificate on Mozilla Backpack, you must first have a Backpack account. Complete the following steps to add your certificate to Backpack.") %>
     </p>
diff --git a/lms/templates/student_profile/third_party_auth.html b/lms/templates/student_profile/third_party_auth.html
index 3b2a5c6c4d3..5bc0d844dc7 100644
--- a/lms/templates/student_profile/third_party_auth.html
+++ b/lms/templates/student_profile/third_party_auth.html
@@ -15,9 +15,9 @@ from third_party_auth import pipeline
             <div class="auth-provider">
                 <div class="status">
                     % if state.has_account:
-                        <i class="icon fa fa-link"></i> <span class="copy">${_('Linked')}</span>
+                        <span class="icon fa fa-link" aria-hidden="true"></span> <span class="copy">${_('Linked')}</span>
                     % else:
-                        <i class="icon fa fa-unlink"></i><span class="copy">${_('Not Linked')}</span>
+                        <span class="icon fa fa-unlink" aria-hidden="true"></span><span class="copy">${_('Not Linked')}</span>
                     % endif
                 </div>
                 <span class="provider">${state.provider.name}</span>
diff --git a/lms/templates/verify_student/error.underscore b/lms/templates/verify_student/error.underscore
index 730a17ccebd..b358a8b3785 100644
--- a/lms/templates/verify_student/error.underscore
+++ b/lms/templates/verify_student/error.underscore
@@ -1,6 +1,6 @@
 <div id="error" class="wrapper-msg wrapper-msg-activate">
   <div class=" msg msg-activate">
-    <i class="msg-icon icon fa fa-exclamation-triangle" aria-hidden="true"></i>
+    <span class="msg-icon icon fa fa-exclamation-triangle" aria-hidden="true"></span>
     <div class="msg-content">
       <h3 class="title">
         <span class="sr"><%- gettext( "Error:" ) %></span>
diff --git a/lms/templates/verify_student/face_photo_step.underscore b/lms/templates/verify_student/face_photo_step.underscore
index 2ea1b5b1136..9e9a98ac2cb 100644
--- a/lms/templates/verify_student/face_photo_step.underscore
+++ b/lms/templates/verify_student/face_photo_step.underscore
@@ -16,7 +16,7 @@
   <div class="facephoto view">
     <h3 class="title"><%- gettext( "Take Your Photo" ) %></h2>
     <div class="instruction">
-      <p><%=  HtmlUtils.interpolateHtml( gettext( "When your face is in position, use the camera button {icon} below to take your photo." ), { icon: HtmlUtils.HTML('<span class="example">(<i class="icon fa fa-camera" aria-hidden="true"></i><span class="sr">icon</span>)</span>') } ) %></p>
+      <p><%=  HtmlUtils.interpolateHtml( gettext( "When your face is in position, use the camera button {icon} below to take your photo." ), { icon: HtmlUtils.HTML('<span class="example">(<span class="icon fa fa-camera" aria-hidden="true"></span><span class="sr">icon</span>)</span>') } ) %></p>
     </div>
 
     <div class="wrapper-task">
@@ -31,7 +31,7 @@
               <li class="help-item"><%- gettext( "The photo of your face matches the photo on your ID." ) %></li>
             </ul>
 
-            <p class="copy-extra"><%=  HtmlUtils.interpolateHtml( gettext( "To use the current photo, select the camera button {icon}. To take another photo, select the retake button {icon}." ), { icon: HtmlUtils.HTML('<span class="example">(<i class="icon fa fa-camera" aria-hidden="true"></i><span class="sr">icon</span>)</span>') } ) %></p>
+            <p class="copy-extra"><%=  HtmlUtils.interpolateHtml( gettext( "To use the current photo, select the camera button {icon}. To take another photo, select the retake button {icon}." ), { icon: HtmlUtils.HTML('<span class="example">(<span class="icon fa fa-camera" aria-hidden="true"></span><span class="sr">icon</span>)</span>') } ) %></p>
           </div>
         </div>
 
diff --git a/lms/templates/verify_student/id_photo_step.underscore b/lms/templates/verify_student/id_photo_step.underscore
index ea356ae2245..fba2905e96c 100644
--- a/lms/templates/verify_student/id_photo_step.underscore
+++ b/lms/templates/verify_student/id_photo_step.underscore
@@ -19,7 +19,7 @@
               <li class="help-item"><%- gettext( "Ensure that you can see your photo and read your name" ) %></li>
               <li class="help-item"><%- gettext( "Make sure your ID is well-lit" ) %></li>
               <li class="help-item">
-                <%=  HtmlUtils.interpolateHtml( gettext( "Once in position, use the camera button {icon} to capture your ID" ), { icon: HtmlUtils.HTML('<span class="example">(<i class="icon fa fa-camera" aria-hidden="true"></i>)</span>') } ) %>
+                <%=  HtmlUtils.interpolateHtml( gettext( "Once in position, use the camera button {icon} to capture your ID" ), { icon: HtmlUtils.HTML('<span class="example">(<span class="icon fa fa-camera" aria-hidden="true"></span>)</span>') } ) %>
               </li>
               <li class="help-item"><%- gettext( "Use the retake photo button if you are not pleased with your photo" ) %></li>
             </ul>
diff --git a/lms/templates/verify_student/incourse_reverify.underscore b/lms/templates/verify_student/incourse_reverify.underscore
index d252aece067..38e8936346a 100644
--- a/lms/templates/verify_student/incourse_reverify.underscore
+++ b/lms/templates/verify_student/incourse_reverify.underscore
@@ -17,7 +17,7 @@
               <li class="help-item"><%- gettext( "Make sure your face is well-lit" ) %></li>
               <li class="help-item"><%- gettext( "Be sure your entire face is inside the frame" ) %></li>
               <li class="help-item">
-                <%=  HtmlUtils.interpolateHtml( gettext( "Once in position, use the camera button {icon} to capture your photo" ), { icon: HtmlUtils.HTML('<span class="example">(<i class="icon fa fa-camera" aria-hidden="true"></i>)</span>') } ) %>
+                <%=  HtmlUtils.interpolateHtml( gettext( "Once in position, use the camera button {icon} to capture your photo" ), { icon: HtmlUtils.HTML('<span class="example">(<span class="icon fa fa-camera" aria-hidden="true"></span>)</span>') } ) %>
               </li>
               <li class="help-item"><%- gettext( "Can we match the photo you took with the one on your ID?" ) %></li>
               <li class="help-item"><%- gettext( "Use the retake photo button if you are not pleased with your photo" ) %></li>
diff --git a/lms/templates/verify_student/intro_step.underscore b/lms/templates/verify_student/intro_step.underscore
index 578ec363ac8..72d785bc785 100644
--- a/lms/templates/verify_student/intro_step.underscore
+++ b/lms/templates/verify_student/intro_step.underscore
@@ -30,7 +30,7 @@
           <li class="req req-0 req-activate">
             <h4 class="title"><%- gettext( "Activate Your Account" ) %></h4>
             <div class="placeholder-art">
-              <i class="icon fa fa-envelope-o" aria-hidden="true"></i>
+              <span class="icon fa fa-envelope-o" aria-hidden="true"></span>
             </div>
 
             <div class="copy">
@@ -44,8 +44,8 @@
           <li class="req req-1 req-id">
             <h4 class="title"><%- gettext( "Photo ID" ) %></h4>
             <div class="placeholder-art fa-lg">
-              <i class="icon fa fa-list-alt fa-stack-2x" aria-hidden="true"></i>
-              <i class="icon fa fa-user id-photo fa-stack-1x" aria-hidden="true"></i>
+              <span class="icon fa fa-list-alt fa-stack-2x" aria-hidden="true"></span>
+              <span class="icon fa fa-user id-photo fa-stack-1x" aria-hidden="true"></span>
             </div>
 
             <div class="copy">
@@ -60,7 +60,7 @@
           <li class="req req-2 req-webcam">
             <h4 class="title"><%- gettext( "Webcam" ) %></h4>
             <div class="placeholder-art">
-              <i class="icon fa fa-video-camera" aria-hidden="true"></i>
+              <span class="icon fa fa-video-camera" aria-hidden="true"></span>
             </div>
 
             <div class="copy"></div>
diff --git a/lms/templates/verify_student/make_payment_step.underscore b/lms/templates/verify_student/make_payment_step.underscore
index dcd4c7fb1ca..5f327d50c7d 100644
--- a/lms/templates/verify_student/make_payment_step.underscore
+++ b/lms/templates/verify_student/make_payment_step.underscore
@@ -51,7 +51,7 @@
           <li class="req req-0 req-activate">
             <h3 class="title"><%- gettext( "Activate Your Account" ) %></h3>
             <div class="placeholder-art">
-              <i class="icon fa fa-envelope-o" aria-hidden="true"></i>
+              <span class="icon fa fa-envelope-o" aria-hidden="true"></span>
             </div>
 
             <div class="copy">
@@ -65,8 +65,8 @@
           <li class="req req-1 req-id">
             <h3 class="title"><%- gettext( "Government-Issued Photo ID" ) %></h3>
             <div class="placeholder-art fa-lg">
-              <i class="icon fa fa-list-alt fa-stack-2x" aria-hidden="true"></i>
-              <i class="icon fa fa-user id-photo fa-stack-1x" aria-hidden="true"></i>
+              <span class="icon fa fa-list-alt fa-stack-2x" aria-hidden="true"></span>
+              <span class="icon fa fa-user id-photo fa-stack-1x" aria-hidden="true"></span>
             </div>
 
             <div class="copy"></div>
@@ -77,7 +77,7 @@
           <li class="req req-2 req-webcam">
             <h3 class="title"><%- gettext( "Webcam" ) %></h3>
             <div class="placeholder-art">
-              <i class="icon fa fa-video-camera" aria-hidden="true"></i>
+              <span class="icon fa fa-video-camera" aria-hidden="true"></span>
             </div>
 
             <div class="copy"></div>
diff --git a/lms/templates/verify_student/make_payment_step_ab_testing.underscore b/lms/templates/verify_student/make_payment_step_ab_testing.underscore
index bf09bdbc9c9..70c461d691f 100644
--- a/lms/templates/verify_student/make_payment_step_ab_testing.underscore
+++ b/lms/templates/verify_student/make_payment_step_ab_testing.underscore
@@ -85,7 +85,7 @@
                 </p>
                 <% if ( requirements['photo-id-required'] ) { %>
                     <div class="photo-requirement user_icon">
-                        <i class="fa fa-user fa-2x" aria-hidden="true"></i>
+                        <span class="fa fa-user fa-2x" aria-hidden="true"></span>
                         <h6>
                             <%- gettext("Photo ID") %>
                         </h6>
@@ -97,7 +97,7 @@
 
                 <% if ( requirements['webcam-required'] ) { %>
                     <div class="photo-requirement cam_icon">
-                        <i class="fa fa-video-camera fa-2x" aria-hidden="true"></i>
+                        <span class="fa fa-video-camera fa-2x" aria-hidden="true"></span>
                         <h6>
                             <%- gettext("Webcam") %>
                         </h6>
diff --git a/lms/templates/verify_student/payment_confirmation_step.underscore b/lms/templates/verify_student/payment_confirmation_step.underscore
index ddf9f62d74b..e4b2990d6c9 100644
--- a/lms/templates/verify_student/payment_confirmation_step.underscore
+++ b/lms/templates/verify_student/payment_confirmation_step.underscore
@@ -93,7 +93,7 @@
           <li class="req req-0 req-activate">
             <h4 class="title"><%- gettext( "Activate Your Account" ) %></h4>
             <div class="placeholder-art">
-              <i class="icon fa fa-envelope-o" aria-hidden="true"></i>
+              <span class="icon fa fa-envelope-o" aria-hidden="true"></span>
             </div>
 
             <div class="copy">
@@ -111,8 +111,8 @@
           <li class="req req-1 req-id">
             <h4 class="title"><%- gettext( "Photo ID" ) %></h4>
             <div class="placeholder-art fa-lg">
-              <i class="icon fa fa-list-alt fa-stack-2x" aria-hidden="true"></i>
-              <i class="icon fa fa-user id-photo fa-stack-1x" aria-hidden="true"></i>
+              <span class="icon fa fa-list-alt fa-stack-2x" aria-hidden="true"></span>
+              <span class="icon fa fa-user id-photo fa-stack-1x" aria-hidden="true"></span>
             </div>
 
             <div class="copy">
@@ -127,7 +127,7 @@
           <li class="req req-2 req-webcam">
             <h4 class="title"><%- gettext( "Webcam" ) %></h4>
             <div class="placeholder-art">
-              <i class="icon fa fa-video-camera" aria-hidden="true"></i>
+              <span class="icon fa fa-video-camera" aria-hidden="true"></span>
             </div>
 
             <div class="copy"></div>
diff --git a/lms/templates/verify_student/webcam_photo.underscore b/lms/templates/verify_student/webcam_photo.underscore
index 982c698f4c7..c7ca5482f49 100644
--- a/lms/templates/verify_student/webcam_photo.underscore
+++ b/lms/templates/verify_student/webcam_photo.underscore
@@ -25,7 +25,7 @@
   </div>
   <div class="control control-do is-hidden" id="webcam_capture_button">
     <button class="action action-do">
-      <i class="icon fa fa-camera" aria-hidden="true"></i> <span class="sr"><%- gettext( "Take Photo" ) %></span>
+      <span class="icon fa fa-camera" aria-hidden="true"></span> <span class="sr"><%- gettext( "Take Photo" ) %></span>
     </button>
   </div>
   <audio id="webcam_capture_sound"></audio>
diff --git a/lms/templates/wiki/create.html b/lms/templates/wiki/create.html
index 0fbc21df110..37cf2d29c25 100644
--- a/lms/templates/wiki/create.html
+++ b/lms/templates/wiki/create.html
@@ -33,12 +33,12 @@
       {% wiki_form create_form %}
       <div class="form-actions">
           <button type="submit" name="save_changes" class="btn btn-primary btn-large">
-            <i class="icon fa fa-plus"></i>
+            <span class="icon fa fa-plus" aria-hidden="true"></span>
             {% trans "Create article" %}
           </button>
 
           <a href="{% url 'wiki:get' path=parent_urlpath.path %}" class="btn btn-large back">
-            <i class="icon fa fa-circle-arrow-left"></i>
+            <span class="icon fa fa-circle-arrow-left" aria-hidden="true"></span>
             {% trans "Go back" %}
           </a>
       </div>
diff --git a/lms/templates/wiki/delete.html b/lms/templates/wiki/delete.html
index 6dac1bb660e..3616ec4b366 100644
--- a/lms/templates/wiki/delete.html
+++ b/lms/templates/wiki/delete.html
@@ -46,11 +46,11 @@
       </script>
       <div class="form-actions">
           <button type="submit" name="save_changes" class="btn btn-danger btn-large">
-            <i class="icon fa fa-remove"></i>
+            <span class="icon fa fa-remove" aria-hidden="true"></span>
             {% trans "Delete article" %}
           </button>
           <a href="{% url 'wiki:get' path=urlpath.path article_id=article.id %}" class="btn btn-large back">
-            <i class="icon fa fa-circle-arrow-left"></i>
+            <span class="icon fa fa-circle-arrow-left" aria-hidden="true"></span>
             {% trans "Go back" %}
           </a>
       </div>
diff --git a/lms/templates/wiki/edit.html b/lms/templates/wiki/edit.html
index 1a38bfaaac3..a3c7b8858c9 100644
--- a/lms/templates/wiki/edit.html
+++ b/lms/templates/wiki/edit.html
@@ -25,7 +25,7 @@
   {% include "wiki/includes/editor.html" %}
   <div class="form-actions">
       <button type="submit" name="save" value="1" class="btn btn-large btn-primary" onclick="this.form.target=''; this.form.action='{% url 'wiki:edit' path=urlpath.path article_id=article.id %}'">
-        <i class="icon fa fa-check-square-o"></i>
+        <span class="icon fa fa-check-square-o" aria-hidden="true"></span>
         {% trans "Save changes" %}
       </button>
       <a class="btn btn-large" id="previewButton" href="#previewModal" rel="leanModal"
@@ -33,19 +33,19 @@
           document.article_edit_form.target='previewWindow';
           document.article_edit_form.action='{% url 'wiki:preview' path=urlpath.path article_id=article.id %}';
           document.article_edit_form.submit();">
-        <i class="icon fa fa-eye"></i>
+        <span class="icon fa fa-eye" aria-hidden="true"></span>
         {% trans "Preview" %}
       </a>
 
       <a href="{% url 'wiki:delete' path=urlpath.path article_id=article.id %}" class="pull-right btn btn-danger">
-        <i class="icon fa fa-remove"></i>
+        <span class="icon fa fa-remove" aria-hidden="true"></span>
         {% trans "Delete article" %}
       </a>
 
   </div>
   <section id="previewModal" class="modal" aria-hidden="true">
     <div class="inner-wrapper" role="dialog" aria-labelledby="preview-title">
-      <button class="close-modal"><i class="icon fa fa-remove"></i> <span class="sr">{% trans 'Close' %}</span></button>
+      <button class="close-modal"><span class="icon fa fa-remove" aria-hidden="true"></span> <span class="sr">{% trans 'Close' %}</span></button>
 
       <header>
         <h2 id="preview-title">{% trans "Wiki Preview" %}<span class="sr">, {% trans "window open" %}</span></h2>
@@ -57,12 +57,12 @@
     </div>
     <div class="modal-footer">
       <button type="submit" name="save" value="1" class="btn btn-large btn-primary" onclick="this.form.target=''; this.form.action='{% url 'wiki:edit' path=urlpath.path article_id=article.id %}'">
-        <i class="icon fa fa-check-square-o"></i>
+        <span class="icon fa fa-check-square-o" aria-hidden="true"></span>
         {% trans "Save changes" %}
       </button>
 
       <a id="previewModalBackToEditor" href="#" class="btn btn-large">
-        <i class="icon fa fa-circle-arrow-left"></i>
+        <span class="icon fa fa-circle-arrow-left" aria-hidden="true"></span>
         {% trans "Back to editor" %}
       </a>
     </div>
diff --git a/lms/templates/wiki/history.html b/lms/templates/wiki/history.html
index 766ddb91afa..45a21ac06cd 100644
--- a/lms/templates/wiki/history.html
+++ b/lms/templates/wiki/history.html
@@ -102,7 +102,7 @@
         <div class="accordion-group">
           <div class="accordion-heading">
             <a class="accordion-toggle" style="float: left;" href="{% url 'wiki:diff' revision.id %}">
-              <i class="icon fa fa-plus"></i>
+              <span class="icon fa fa-plus" aria-hidden="true"></span>
               {% include "wiki/includes/revision_info.html" with current_revision=article.current_revision %}
               <div style="color: #CCC;">
                 <small>
@@ -130,7 +130,7 @@
                       document.revisions_form.action='{% url 'wiki:preview_revision' article.id %}';
                       $('#previewRevisionModal .switch-to-revision').attr('href', '{% url 'wiki:change_revision' path=urlpath.path article_id=article.id revision_id=revision.id %}');
                       document.revisions_form.submit();">
-                  <i class="icon fa fa-eye"></i>
+                  <span class="icon fa fa-eye" aria-hidden="true"></span>
                   {% trans "Preview this revision" %}
                 </a>
 
@@ -180,17 +180,17 @@
               document.revisions_form.action=$('input[type=radio]:checked').attr('merge-button-href');
               $('.merge-revision-commit').attr('href', $('input[type=radio]:checked').attr('merge-button-commit-href'));
               document.revisions_form.submit();">
-            <i class="icon fa fa-random"></i>
+            <span class="icon fa fa-random" aria-hidden="true"></span>
             {% trans "Merge selected with current..." %}
           </a>
         {% else %}
           <button type="submit" disabled="true" name="preview" value="1" class="btn btn-large">
-            <i class="icon fa fa-lock"></i>
+            <span class="icon fa fa-lock" aria-hidden="true"></span>
             {% trans "Merge selected with current..." %}
           </button>
         {% endif %}
         <button type="submit" name="save" value="1" class="btn btn-large btn-primary" onclick="this.form.action=$('input[type=radio]:checked').attr('switch-button-href')">
-          <i class="icon fa fa-flag"></i>
+          <span class="icon fa fa-flag" aria-hidden="true"></span>
           {% trans "Switch to selected version" %}
         </button>
       </div>
@@ -201,7 +201,7 @@
   <input type="hidden" name="r" value="" />
   <section id="previewRevisionModal" class="modal" aria-hidden="true">
     <div class="inner-wrapper" role="dialog" aria-labelledby="preview-title">
-      <button class="close-modal"><i class="icon fa fa-remove"></i> <span class="sr">{% trans 'Close' %}</span></button>
+      <button class="close-modal"><span class="icon fa fa-remove" aria-hidden="true"></span> <span class="sr">{% trans 'Close' %}</span></button>
 
       <header>
         <h2 id="preview-title">{% trans "Wiki Revision Preview" %}<span class="sr">, {% trans "window open" %}</span></h2>
@@ -212,17 +212,17 @@
       </div>
       <div class="modal-footer">
       <a id="previewRevisionModalBackToHistory" href="#" class="btn btn-large" data-dismiss="modal">
-        <i class="icon fa fa-circle-arrow-left"></i>
+        <span class="icon fa fa-circle-arrow-left" aria-hidden="true"></span>
         {% trans "Back to history view" %}
       </a>
       {% if article|can_write:user %}
         <a href="#" class="btn btn-large btn-primary switch-to-revision">
-          <i class="icon fa fa-flag"></i>
+          <span class="icon fa fa-flag" aria-hidden="true"></span>
           {% trans "Switch to this version" %}
         </a>
       {% else %}
         <a href="#" class="btn btn-large btn-primary disabled">
-          <i class="icon fa fa-lock"></i>
+          <span class="icon fa fa-lock" aria-hidden="true"></span>
           {% trans "Switch to this version" %}
         </a>
       {% endif %}
@@ -232,7 +232,7 @@
 
   <section id="mergeModal" class="modal" aria-hidden="true">
     <div class="inner-wrapper" role="dialog" aria-labelledby="merge-title">
-      <button class="close-modal"><i class="icon fa fa-remove"></i> <span class="sr">{% trans 'Close' %}</span></button>
+      <button class="close-modal"><span class="icon fa fa-remove" aria-hidden="true"></span> <span class="sr">{% trans 'Close' %}</span></button>
 
       <header>
         <h2 id="merge-title">{% trans "Merge Revision" %}<span class="sr">, {% trans "window open" %}</span></h2>
@@ -240,24 +240,24 @@
       </header>
       <div class="modal-header">
         <h1>{% trans "Merge with current" %}</h1>
-        <p class="lead"><i class="icon fa fa-info-circle"></i> {% trans "When you merge a revision with the current, all data will be retained from both versions and merged at its approximate location from each revision." %} <strong>{% trans "After this, it's important to do a manual review." %}</strong></p>
+        <p class="lead"><span class="icon fa fa-info-circle" aria-hidden="true"></span> {% trans "When you merge a revision with the current, all data will be retained from both versions and merged at its approximate location from each revision." %} <strong>{% trans "After this, it's important to do a manual review." %}</strong></p>
       </div>
       <div class="modal-body">
         <iframe name="mergeWindow"></iframe>
       </div>
       <div class="modal-footer">
         <a id="mergeModalBackToHistory" href="#" class="btn btn-large" data-dismiss="modal">
-          <i class="icon fa fa-circle-arrow-left"></i>
+          <span class="icon fa fa-circle-arrow-left" aria-hidden="true"></span>
           {% trans "Back to history view" %}
         </a>
         {% if article|can_write:user %}
         <a href="#" class="btn btn-large btn-primary merge-revision-commit">
-          <i class="icon fa fa-file"></i>
+          <span class="icon fa fa-file" aria-hidden="true"></span>
           {% trans "Create new merged version" %}
         </a>
         {% else %}
           <a href="#" class="btn btn-large btn-primary disabled">
-            <i class="icon fa fa-lock"></i>
+            <span class="icon fa fa-lock" aria-hidden="true"></span>
             {% trans "Create new merged version" %}
           </a>
         {% endif %}
diff --git a/lms/templates/wiki/includes/article_menu.html b/lms/templates/wiki/includes/article_menu.html
index 5f6c1e9157f..a6d86084573 100644
--- a/lms/templates/wiki/includes/article_menu.html
+++ b/lms/templates/wiki/includes/article_menu.html
@@ -9,7 +9,7 @@
 
 <li class="${"active" if selected_tab == "view" else ""}">
   <a href="${reverse('wiki:get', kwargs={'article_id' : article.id, 'path' : urlpath.path})}">
-    <i class="icon fa fa-eye"></i>
+    <span class="icon fa fa-eye" aria-hidden="true"></span>
     ${_("View")}
     ${Text(_("{span_start}(active){span_end}")).format(span_start=HTML("<span class='sr'>"), span_end=HTML("</span>")) if selected_tab == "view" else ""}
   </a>
@@ -18,7 +18,7 @@
 %if article.can_write(user):
   <li class="${"active" if selected_tab == "edit" else ""}">
     <a href="${reverse('wiki:edit', kwargs={'article_id' : article.id, 'path' : urlpath.path})}">
-      <i class="icon fa fa-pencil"></i>
+      <span class="icon fa fa-pencil" aria-hidden="true"></span>
       ${_("Edit")}
       ${Text(_("{span_start}(active){span_end}")).format(span_start=HTML("<span class='sr'>"), span_end=HTML("</span>")) if selected_tab == "edit" else ""}
     </a>
@@ -27,7 +27,7 @@
 
 <li class="${"active" if selected_tab == "history" else ""}">
   <a href="${reverse('wiki:history', kwargs={'article_id' : article.id, 'path' : urlpath.path})}">
-    <i class="icon fa fa-clock-o"></i>
+    <span class="icon fa fa-clock-o" aria-hidden="true"></span>
     ${_("Changes")}
     ${Text(_("{span_start}(active){span_end}")).format(span_start=HTML("<span class='sr'>"), span_end=HTML("</span>")) if selected_tab == "history" else ""}
   </a>
@@ -37,7 +37,7 @@
   %if hasattr(plugin, "article_tab"):
     <li class="${"active" if selected_tab == plugin.slug else ""}">
       <a href="${reverse('wiki:plugin', kwargs={'slug' : plugin.slug, 'article_id' : article.id, 'path' : urlpath.path}) }">
-        <i class="icon fa fa-file ${plugin.article_tab[1]}"></i>
+        <span class="icon fa fa-file ${plugin.article_tab[1]}" aria-hidden="true"></span>
         ${plugin.article_tab[0]}
         ${Text(_("{span_start}(active){span_end}")).format(span_start=HTML("<span class='sr'>"), span_end=HTML("</span>")) if selected_tab == plugin.slug else ""}
       </a>
@@ -53,7 +53,7 @@ ${_("This should be enabled for all non-anonymous users once the notifications a
 %if can_change_permissions(article,user):
 <li class="${"active" if selected_tab == "settings" else ""}">
   <a href="${reverse('wiki:settings', kwargs={'article_id' : article.id, 'path' : urlpath.path})}">
-    <i class="icon fa fa-cog"></i>
+    <span class="icon fa fa-cog" aria-hidden="true"></span>
     ${_("Settings")}
     ${Text(_("{span_start}active{span_end}")).format(span_start=HTML("<span class='sr'>"), span_end=HTML("</span>")) if selected_tab == "settings" else ""}
   </a>
diff --git a/lms/templates/wiki/includes/breadcrumbs.html b/lms/templates/wiki/includes/breadcrumbs.html
index ee450c6f6a8..b341425a8c6 100644
--- a/lms/templates/wiki/includes/breadcrumbs.html
+++ b/lms/templates/wiki/includes/breadcrumbs.html
@@ -32,7 +32,7 @@
     </form> -->
     %if create_article_root:
     <a class="add-article-btn btn pull-left" href="${reverse('wiki:create', kwargs={'path' : create_article_root.path})}" style="padding: 7px;">
-      <i class="icon fa fa-plus"></i>
+      <span class="icon fa fa-plus" aria-hidden="true"></span>
       ${_("Add article")}
     </a>
     %endif
diff --git a/lms/templates/wiki/includes/cheatsheet.html b/lms/templates/wiki/includes/cheatsheet.html
index a69edeafc89..62c568b06ea 100644
--- a/lms/templates/wiki/includes/cheatsheet.html
+++ b/lms/templates/wiki/includes/cheatsheet.html
@@ -1,7 +1,7 @@
 {% load i18n %}
 <section id="cheatsheetModal" class="modal" aria-hidden="true">
   <div class="inner-wrapper" role="dialog" aria-labelledby="cheatsheet-title">
-    <button class="close-modal"><i class="icon fa fa-remove"></i> <span class="sr">{% trans 'Close' %}</span></button>
+    <button class="close-modal"><span class="icon fa fa-remove" aria-hidden="true"></span> <span class="sr">{% trans 'Close' %}</span></button>
 
     <header>
       <h2 id="cheatsheet-title">{% trans "Wiki Cheatsheet" %}<span class="sr">, {% trans "window open" %}</span></h2>
diff --git a/themes/edx.org/lms/templates/dashboard.html b/themes/edx.org/lms/templates/dashboard.html
index 0db99dc3e23..bde2cca40b7 100644
--- a/themes/edx.org/lms/templates/dashboard.html
+++ b/themes/edx.org/lms/templates/dashboard.html
@@ -141,11 +141,11 @@ from openedx.core.djangolib.markup import HTML, Text
         <label for="dashboard-search-input">${_('Search Your Courses')}</label>
         <div class="search-field-wrapper">
           <input id="dashboard-search-input" type="text" class="search-field"/>
-          <button type="submit" class="search-button" aria-label="${_('Search')}">
-            <i class="icon fa fa-search" aria-hidden="true"></i>
+          <button type="submit" class="search-button" title="${_('Search')}">
+            <span class="icon fa fa-search" aria-hidden="true"></span>
           </button>
-          <button type="button" class="cancel-button" aria-label="${_('Clear search')}">
-            <i class="icon fa fa-remove" aria-hidden="true"></i>
+          <button type="button" class="cancel-button" title="${_('Clear search')}">
+            <span class="icon fa fa-remove" aria-hidden="true"></span>
           </button>
         </div>
       </form>
@@ -198,7 +198,7 @@ from openedx.core.djangolib.markup import HTML, Text
 <section id="email-settings-modal" class="modal" aria-hidden="true">
   <div class="inner-wrapper" role="dialog" aria-labelledby="email-settings-title">
     <button class="close-modal">
-      <i class="icon fa fa-remove"></i>
+      <span class="icon fa fa-remove" aria-hidden="true"></span>
       <span class="sr">
         ## Translators: this is a control to allow users to exit out of this modal interface (a menu or piece of UI that takes the full focus of the screen)
         ${_("Close")}
@@ -229,7 +229,7 @@ from openedx.core.djangolib.markup import HTML, Text
 <section id="unenroll-modal" class="modal unenroll-modal" aria-hidden="true">
   <div class="inner-wrapper" role="dialog" aria-labelledby="unenrollment-modal-title">
     <button class="close-modal">
-      <i class="icon fa fa-remove"></i>
+      <span class="icon fa fa-remove" aria-hidden="true"></span>
       <span class="sr">
         ## Translators: this is a control to allow users to exit out of this modal interface (a menu or piece of UI that takes the full focus of the screen)
         ${_("Close")}
-- 
GitLab