diff --git a/cms/templates/base.html b/cms/templates/base.html
index 82e41001197317b07bcf8bc675cdaf68ffab10b6..92e66608bab638a1efba639ba643806fb772da5e 100644
--- a/cms/templates/base.html
+++ b/cms/templates/base.html
@@ -54,7 +54,7 @@ from openedx.core.djangolib.js_utils import (
   <body class="${static.dir_rtl()} <%block name='bodyclass'></%block> lang_${LANGUAGE_CODE}">
     <%block name="view_notes"></%block>
 
-    <a class="nav-skip" href="#content">${_("Skip to main content")}</a>
+    <a class="nav-skip" href="#main">${_("Skip to main content")}</a>
 
     <script type="text/javascript">
       window.baseUrl = "${settings.STATIC_URL | n, js_escaped_string}";
@@ -72,9 +72,11 @@ from openedx.core.djangolib.js_utils import (
       <%block name="page_alert"></%block>
       </div>
 
-      <div id="content" tabindex="-1">
-      <%block name="content"></%block>
-      </div>
+      <main id="main" aria-label="Content" tabindex="-1">
+          <div id="content">
+          <%block name="content"></%block>
+          </div>
+      </main>
 
       % if user.is_authenticated():
         <%include file="widgets/sock.html" args="online_help_token=online_help_token" />
diff --git a/cms/templates/course-create-rerun.html b/cms/templates/course-create-rerun.html
index 9a8e53f887306544a6ea1665f1ce18759ca56e05..0be39608d12351896fd753d67b3b1d08f3e427fb 100644
--- a/cms/templates/course-create-rerun.html
+++ b/cms/templates/course-create-rerun.html
@@ -22,7 +22,7 @@ from openedx.core.djangolib.js_utils import js_escaped_string
 </%block>
 
 <%block name="content">
-<div id="content" tabindex="-1">
+<div id="content">
   <div class="wrapper-mast wrapper">
     <header class="mast mast-wizard has-actions">
       <h1 class="page-header">
diff --git a/lms/static/js/fixtures/edxnotes/edxnotes.html b/lms/static/js/fixtures/edxnotes/edxnotes.html
index 538bd55caedfb34d936cd0fbc4cafc71b32fbfbd..482b385554c1e337494b0a9e33b1a8bd9e23ff44 100644
--- a/lms/static/js/fixtures/edxnotes/edxnotes.html
+++ b/lms/static/js/fixtures/edxnotes/edxnotes.html
@@ -1,7 +1,7 @@
 <section class="container">
   <div class="wrapper-student-notes">
     <div class="student-notes">
-
+    <main id="main" aria-label="Content" tabindex="-1">
       <div class="title-search-container">
         <div class="wrapper-title">
           <h1 class="page-title">
@@ -42,7 +42,7 @@
           <span class="copy">Loading</span>
         </div>
       </section>
-
+    </main>
     </div>
   </div>
 </section>
diff --git a/lms/templates/ccx/coach_dashboard.html b/lms/templates/ccx/coach_dashboard.html
index 5affcd489ae208bc3950f4ad2930c3a83c980238..c980f154a7edf67c3e6fee341cfcf2f619d24f2e 100644
--- a/lms/templates/ccx/coach_dashboard.html
+++ b/lms/templates/ccx/coach_dashboard.html
@@ -10,7 +10,6 @@ from openedx.core.djangolib.js_utils import (
 %>
 
 <%block name="pagetitle">${_("CCX Coach Dashboard")}</%block>
-<%block name="nav_skip">#ccx-coach-dashboard-content</%block>
 
 <%block name="headextra">
   <%static:css group='style-course-vendor'/>
@@ -23,66 +22,68 @@ from openedx.core.djangolib.js_utils import (
 
 <section class="container">
   <div class="instructor-dashboard-wrapper-2">
-    <section class="instructor-dashboard-content-2" id="ccx-coach-dashboard-content">
-      <h1>${_("CCX Coach Dashboard")}</h1>
+        <main id="main" aria-label="Content" tabindex="-1">
+        <section class="instructor-dashboard-content-2" id="ccx-coach-dashboard-content">
+          <h1>${_("CCX Coach Dashboard")}</h1>
 
-      %if not ccx:
-        % if messages:
-          <ul class="messages">
-            % for message in messages:
-              % if message.tags:
-                <li class="${message.tags}">${message}</li>
-              % else:
-                <li>${message}</li>
-              % endif
-            % endfor
+          %if not ccx:
+            % if messages:
+              <ul class="messages">
+                % for message in messages:
+                  % if message.tags:
+                    <li class="${message.tags}">${message}</li>
+                  % else:
+                    <li>${message}</li>
+                  % endif
+                % endfor
+              </ul>
+            % endif
+            <section>
+              <p class="request-response-error" id="ccx-create-message"></p>
+              <form action="${create_ccx_url}" class="ccx-form" method="POST" onsubmit="return validateForm(this)">
+                <input type="hidden" name="csrfmiddlewaretoken" value="${csrf_token}"/>
+                <div class="field">
+                  <label class="sr" for="ccx_name">${_('Name your CCX')}</label>
+                  <input name="name" id="ccx_name" placeholder="${_('Name your CCX')}"/><br/>
+                </div>
+                <div class="field">
+                  <button id="create-ccx" type="submit">${_('Create a new Custom Course for edX')}</button>
+                </div>
+              </form>
+            </section>
+          %endif
+
+          %if ccx:
+          <ul class="instructor-nav">
+            <li class="nav-item">
+              <a href="#" data-section="membership">${_("Enrollment")}</a>
+            </li>
+            <li class="nav-item">
+              <a href="#" data-section="schedule">${_("Schedule")}</a>
+            </li>
+            <li class="nav-item">
+              <a href="#" data-section="student_admin">${_("Student Admin")}</a>
+            </li>
+            <li class="nav-item">
+              <a href="#" data-section="grading_policy">${_("Grading Policy")}</a>
+            </li>
           </ul>
-        % endif
-        <section>
-          <p class="request-response-error" id="ccx-create-message"></p>
-          <form action="${create_ccx_url}" class="ccx-form" method="POST" onsubmit="return validateForm(this)">
-            <input type="hidden" name="csrfmiddlewaretoken" value="${csrf_token}"/>
-            <div class="field">
-              <label class="sr" for="ccx_name">${_('Name your CCX')}</label>
-              <input name="name" id="ccx_name" placeholder="${_('Name your CCX')}"/><br/>
-            </div>
-            <div class="field">
-              <button id="create-ccx" type="submit">${_('Create a new Custom Course for edX')}</button>
-            </div>
-          </form>
-        </section>
-      %endif
+          <section id="membership" class="idash-section">
+            <%include file="enrollment.html" args="" />
+          </section>
+          <section id="schedule" class="idash-section">
+            <%include file="schedule.html" args="" />
+          </section>
+          <section id="student_admin" class="idash-section">
+            <%include file="student_admin.html" args="" />
+          </section>
+          <section id="grading_policy" class="idash-section">
+            <%include file="grading_policy.html" args="" />
+          </section>
+          %endif
 
-      %if ccx:
-      <ul class="instructor-nav">
-        <li class="nav-item">
-          <a href="#" data-section="membership">${_("Enrollment")}</a>
-        </li>
-        <li class="nav-item">
-          <a href="#" data-section="schedule">${_("Schedule")}</a>
-        </li>
-        <li class="nav-item">
-          <a href="#" data-section="student_admin">${_("Student Admin")}</a>
-        </li>
-        <li class="nav-item">
-          <a href="#" data-section="grading_policy">${_("Grading Policy")}</a>
-        </li>
-      </ul>
-      <section id="membership" class="idash-section">
-        <%include file="enrollment.html" args="" />
-      </section>
-      <section id="schedule" class="idash-section">
-        <%include file="schedule.html" args="" />
-      </section>
-      <section id="student_admin" class="idash-section">
-        <%include file="student_admin.html" args="" />
       </section>
-      <section id="grading_policy" class="idash-section">
-        <%include file="grading_policy.html" args="" />
-      </section>
-      %endif
-
-    </section>
+        </main>
   </div>
 </section>
 
diff --git a/lms/templates/courseware/courses.html b/lms/templates/courseware/courses.html
index f9914bfe8f378468e7cd30c952a66f6e80d0a6bb..1e08c3684dd8b34312914cfbd819e0a181db5f2e 100644
--- a/lms/templates/courseware/courses.html
+++ b/lms/templates/courseware/courses.html
@@ -28,48 +28,50 @@
 
 <%block name="pagetitle">${_("Courses")}</%block>
 
-<section class="find-courses">
-  <section class="courses-container">
-    % if course_discovery_enabled:
-    <div id="discovery-form" role="search" aria-label="course" class="wrapper-search-context">
-      <div id="discovery-message" class="search-status-label"></div>
-      <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>
-          <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="sr">${_('Loading')}</span>
-            </div>
-          </div>
-        </button>
-      </form>
-    </div>
+<main id="main" aria-label="Content" tabindex="-1">
+    <section class="find-courses">
+      <section class="courses-container">
+        % if course_discovery_enabled:
+        <div id="discovery-form" role="search" aria-label="course" class="wrapper-search-context">
+          <div id="discovery-message" class="search-status-label"></div>
+          <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>
+              <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="sr">${_('Loading')}</span>
+                </div>
+              </div>
+            </button>
+          </form>
+        </div>
 
-    <div id="filter-bar" class="filters hide-phone is-collapsed">
-    </div>
-    % endif
+        <div id="filter-bar" class="filters hide-phone is-collapsed">
+        </div>
+        % endif
 
-    <div class="courses${'' if course_discovery_enabled else ' no-course-discovery'}" role="region" aria-label="${_('List of Courses')}">
-      <ul class="courses-listing">
-        %for course in courses:
-        <li class="courses-listing-item">
-          <%include file="../course.html" args="course=course" />
-        </li>
-        %endfor
-      </ul>
-    </div>
+        <div class="courses${'' if course_discovery_enabled else ' no-course-discovery'}" role="region" aria-label="${_('List of Courses')}">
+          <ul class="courses-listing">
+            %for course in courses:
+            <li class="courses-listing-item">
+              <%include file="../course.html" args="course=course" />
+            </li>
+            %endfor
+          </ul>
+        </div>
 
 
-    % if course_discovery_enabled:
-    <aside aria-label="${_('Refine Your Search')}" class="search-facets phone-menu">
-      <h2 class="header-search-facets">${_('Refine Your Search')}</h2>
-      <section class="search-facets-lists">
-      </section>
-    </aside>
-    % endif
+        % if course_discovery_enabled:
+        <aside aria-label="${_('Refine Your Search')}" class="search-facets phone-menu">
+          <h2 class="header-search-facets">${_('Refine Your Search')}</h2>
+          <section class="search-facets-lists">
+          </section>
+        </aside>
+        % endif
 
-  </section>
-</section>
+      </section>
+    </section>
+</main>
diff --git a/lms/templates/courseware/courseware-chromeless.html b/lms/templates/courseware/courseware-chromeless.html
index aa6778c3285c8db047bd9f1e1c5bafefeb7523aa..e97f965ab62050f12f1eb268a4c1b1ad26eeb8fc 100644
--- a/lms/templates/courseware/courseware-chromeless.html
+++ b/lms/templates/courseware/courseware-chromeless.html
@@ -37,8 +37,6 @@ ${static.get_page_title_breadcrumbs(course_name())}
 <%static:css group='style-student-notes'/>
 % endif
 
-<%block name="nav_skip">${"#content" if section_title else "#content"}</%block>
-
 <%include file="../discussion/_js_head_dependencies.html" />
   ${fragment.head_html()}
 </%block>
diff --git a/lms/templates/courseware/courseware.html b/lms/templates/courseware/courseware.html
index 2c55941012dea491b8b0a78cc5983c9e39840be7..4501cc1692fad6ae6802d06a394070a19845c197 100644
--- a/lms/templates/courseware/courseware.html
+++ b/lms/templates/courseware/courseware.html
@@ -57,8 +57,6 @@ ${static.get_page_title_breadcrumbs(course_name())}
 <%static:css group='style-student-notes'/>
 % endif
 
-<%block name="nav_skip">${"#content" if section_title else "#content"}</%block>
-
 <%include file="../discussion/_js_head_dependencies.html" />
   ${fragment.head_html()}
 </%block>
@@ -170,7 +168,8 @@ ${fragment.foot_html()}
 
     </div>
 % endif
-    <section class="course-content" id="course-content" role="main" aria-label="Content">
+    <section class="course-content" id="course-content">
+        <main id="main" aria-label="Content" tabindex="-1">
         % if getattr(course, 'entrance_exam_enabled') and \
            getattr(course, 'entrance_exam_minimum_score_pct') and \
            entrance_exam_current_score is not UNDEFINED:
@@ -199,9 +198,10 @@ ${fragment.foot_html()}
                 )}
             </p>
             % endif
-      % endif
+        % endif
 
-      ${fragment.body_html()}
+          ${fragment.body_html()}
+        </main>
     </section>
 
     <section class="courseware-results-wrapper">
diff --git a/lms/templates/courseware/info.html b/lms/templates/courseware/info.html
index 3fb7fb3de674415f7647e487921916d1645c224c..ed414124e1f488570509c1b8d105122cc8885526 100644
--- a/lms/templates/courseware/info.html
+++ b/lms/templates/courseware/info.html
@@ -52,57 +52,60 @@ from openedx.core.djangolib.markup import Text, HTML
 </%block>
 
 <%block name="bodyclass">view-in-course view-course-info ${course.css_class or ''}</%block>
-<section class="container">
-  <div class="home">
-    <div class="page-header-main">
-        <h1 class="page-title">${_("Welcome to {org}'s {course_name}!").format(org=course.display_org_with_default, course_name=course.display_number_with_default)}</h1>
-        <h2 class="page-subtitle">${course.display_name_with_default}</h2>
-    </div>
-    % if last_accessed_courseware_url:
-      <div class="page-header-secondary">
-          <a href="${last_accessed_courseware_url}" class="last-accessed-link">${_("Resume Course")}</a>
-      </div>
-    % endif
-  </div>
-  <div class="info-wrapper">
-    % if user.is_authenticated():
-    <section class="updates">
-      % if studio_url is not None and masquerade and masquerade.role == 'staff':
-      <div class="wrap-instructor-info studio-view">
-        <a class="instructor-info-action" href="${studio_url}">
-          ${_("View Updates in Studio")}
-        </a>
+
+<main id="main" aria-label="Content" tabindex="-1">
+    <section class="container">
+      <div class="home">
+        <div class="page-header-main">
+            <h1 class="page-title">${_("Welcome to {org}'s {course_name}!").format(org=course.display_org_with_default, course_name=course.display_number_with_default)}</h1>
+            <h2 class="page-subtitle">${course.display_name_with_default}</h2>
+        </div>
+        % if last_accessed_courseware_url:
+          <div class="page-header-secondary">
+              <a href="${last_accessed_courseware_url}" class="last-accessed-link">${_("Resume Course")}</a>
+          </div>
+        % endif
       </div>
-      % endif
+      <div class="info-wrapper">
+        % if user.is_authenticated():
+        <section class="updates">
+          % if studio_url is not None and masquerade and masquerade.role == 'staff':
+          <div class="wrap-instructor-info studio-view">
+            <a class="instructor-info-action" href="${studio_url}">
+              ${_("View Updates in Studio")}
+            </a>
+          </div>
+          % endif
 
-      <h1>${_("Course Updates and News")}</h1>
-      ${HTML(get_course_info_section(request, masquerade_user, course, 'updates'))}
+          <h1>${_("Course Updates and News")}</h1>
+          ${HTML(get_course_info_section(request, masquerade_user, course, 'updates'))}
 
-      ## CourseTalk widget
-      % if show_coursetalk_widget:
-      <div class="coursetalk-write-reviews">
-        <div id="ct-custom-read-review-widget" data-provider="${platform_key}" data-course="${course_review_key}"></div>
-      </div>
-      % endif
-    </section>
-    <section aria-label="${_('Handout Navigation')}" class="handouts">
-      % if SelfPacedConfiguration.current().enable_course_home_improvements:
-        <h1 class="handouts-header">${_("Important Course Dates")}</h1>
-        ${HTML(get_course_date_summary(course, user))}
-      % endif
+          ## CourseTalk widget
+          % if show_coursetalk_widget:
+          <div class="coursetalk-write-reviews">
+            <div id="ct-custom-read-review-widget" data-provider="${platform_key}" data-course="${course_review_key}"></div>
+          </div>
+          % endif
+        </section>
+        <section aria-label="${_('Handout Navigation')}" class="handouts">
+          % if SelfPacedConfiguration.current().enable_course_home_improvements:
+            <h1 class="handouts-header">${_("Important Course Dates")}</h1>
+            ${HTML(get_course_date_summary(course, user))}
+          % endif
 
-      <h1 class="handouts-header">${_(course.info_sidebar_name)}</h1>
-      ${HTML(get_course_info_section(request, masquerade_user, course, 'handouts'))}
-    </section>
-    % else:
-    <section class="updates">
-      <h1 class="handouts-header">${_("Course Updates and News")}</h1>
-      ${HTML(get_course_info_section(request, masquerade_user, course, 'guest_updates'))}
-    </section>
-    <section aria-label="${_('Handout Navigation')}" class="handouts">
-      <h1 class="handouts-header">${_("Course Handouts")}</h1>
-      ${HTML(get_course_info_section(request, masquerade_user, course, 'guest_handouts'))}
+          <h1 class="handouts-header">${_(course.info_sidebar_name)}</h1>
+          ${HTML(get_course_info_section(request, masquerade_user, course, 'handouts'))}
+        </section>
+        % else:
+        <section class="updates">
+          <h1 class="handouts-header">${_("Course Updates and News")}</h1>
+          ${HTML(get_course_info_section(request, masquerade_user, course, 'guest_updates'))}
+        </section>
+        <section aria-label="${_('Handout Navigation')}" class="handouts">
+          <h1 class="handouts-header">${_("Course Handouts")}</h1>
+          ${HTML(get_course_info_section(request, masquerade_user, course, 'guest_handouts'))}
+        </section>
+        % endif
+      </div>
     </section>
-    % endif
-  </div>
-</section>
+</main>
diff --git a/lms/templates/courseware/progress.html b/lms/templates/courseware/progress.html
index 8d765a36c48c0e8fe70442a2af0a5c10229450a6..522adfa7cbfd07ababb26d1490b8cdd433e9980b 100644
--- a/lms/templates/courseware/progress.html
+++ b/lms/templates/courseware/progress.html
@@ -18,7 +18,6 @@ from django.utils.http import urlquote_plus
 <%namespace name="progress_graph" file="/courseware/progress_graph.js"/>
 
 <%block name="pagetitle">${_("{course_number} Progress").format(course_number=course.display_number_with_default) | h}</%block>
-<%block name="nav_skip">#content</%block>
 
 <%block name="js_extra">
 <script type="text/javascript" src="${static.url('js/vendor/flot/jquery.flot.js') | h}"></script>
@@ -37,188 +36,189 @@ from django.utils.http import urlquote_plus
 <div class="container">
   <div class="profile-wrapper">
 
-    <div class="course-info" id="course-info-progress" aria-label="${_('Course Progress')}">
-      % if staff_access and studio_url is not None:
-        <div class="wrap-instructor-info">
-          <a class="instructor-info-action studio-view" href="${studio_url | h}">${_("View Grading in studio")}</a>
-        </div>
-      % endif
-
-      <header class="progress-certificates">
-        <h1 class="progress-certificates-title">${_("Course Progress for Student '{username}' ({email})").format(username=student.username, email=student.email) | h}</h1>
-      </header>
-
-      %if show_generate_cert_btn:
-      <div class="wrapper-msg wrapper-auto-cert">
-        <div id="errors-info" class="errors-info"></div>
-        %if passed:
-        <div class="auto-cert-message" id="course-success">
-          <div class="has-actions">
-              <% post_url = reverse('generate_user_cert', args=[unicode(course.id)]) %>
-              % if is_downloadable:
-              <div class="msg-content">
-                <h2 class="title">${_("Your certificate is available")}</h2>
-                <p class="copy">
-                  ${_("You can keep working for a higher grade, or request your certificate now.")}
-                </p>
-              </div>
-              <div class="msg-actions">
-                %if show_cert_web_view and cert_web_view_url:
-                <a class="btn" href="${cert_web_view_url | h}" target="_blank" title="${_('View certificate in a new browser window or tab.')}">
-                  ${_("View Certificate")}
-                </a>
-                %elif download_url:
-                <a class="btn" href="${download_url | h}" target="_blank" title="${_('PDF will open in a new browser window or tab.')}">
-                  ${_("Download Your Certificate")}
-                </a>
-                %endif
-              </div>
-              %elif is_generating:
-              <div class="msg-content">
-                ## Translators: This message appears to users when the system is processessing course certificates, which can take a few hours.
-                <h2 class="title">${_("We're working on it...")}</h2>
-                <p class="copy">${_("We're creating your certificate. You can keep working in your courses and a link to it will appear here and on your Dashboard when it is ready.")}</p>
-              </div>
-              <div class="msg-actions"></div>
-              %else:
-              <div class="msg-content">
-                <h2 class="title">${_("Congratulations, you qualified for a certificate!")}</h2>
-                <p class="copy">${_("You can keep working for a higher grade, or request your certificate now.")}</p>
-              </div>
-              <div class="msg-actions">
-                <button class="btn generate_certs" data-endpoint="${post_url | h}" id="btn_generate_cert">${_('Request Certificate')}</button>
+    <main id="main" aria-label="Content" tabindex="-1">
+        <div class="course-info" id="course-info-progress" aria-label="${_('Course Progress')}">
+          % if staff_access and studio_url is not None:
+            <div class="wrap-instructor-info">
+              <a class="instructor-info-action studio-view" href="${studio_url | h}">${_("View Grading in studio")}</a>
+            </div>
+          % endif
+
+          <header class="progress-certificates">
+            <h1 class="progress-certificates-title">${_("Course Progress for Student '{username}' ({email})").format(username=student.username, email=student.email) | h}</h1>
+          </header>
+
+          %if show_generate_cert_btn:
+          <div class="wrapper-msg wrapper-auto-cert">
+            <div id="errors-info" class="errors-info"></div>
+            %if passed:
+            <div class="auto-cert-message" id="course-success">
+              <div class="has-actions">
+                  <% post_url = reverse('generate_user_cert', args=[unicode(course.id)]) %>
+                  % if is_downloadable:
+                  <div class="msg-content">
+                    <h2 class="title">${_("Your certificate is available")}</h2>
+                    <p class="copy">
+                      ${_("You can keep working for a higher grade, or request your certificate now.")}
+                    </p>
+                  </div>
+                  <div class="msg-actions">
+                    %if show_cert_web_view and cert_web_view_url:
+                    <a class="btn" href="${cert_web_view_url | h}" target="_blank" title="${_('View certificate in a new browser window or tab.')}">
+                      ${_("View Certificate")}
+                    </a>
+                    %elif download_url:
+                    <a class="btn" href="${download_url | h}" target="_blank" title="${_('PDF will open in a new browser window or tab.')}">
+                      ${_("Download Your Certificate")}
+                    </a>
+                    %endif
+                  </div>
+                  %elif is_generating:
+                  <div class="msg-content">
+                    ## Translators: This message appears to users when the system is processessing course certificates, which can take a few hours.
+                    <h2 class="title">${_("We're working on it...")}</h2>
+                    <p class="copy">${_("We're creating your certificate. You can keep working in your courses and a link to it will appear here and on your Dashboard when it is ready.")}</p>
+                  </div>
+                  <div class="msg-actions"></div>
+                  %else:
+                  <div class="msg-content">
+                    <h2 class="title">${_("Congratulations, you qualified for a certificate!")}</h2>
+                    <p class="copy">${_("You can keep working for a higher grade, or request your certificate now.")}</p>
+                  </div>
+                  <div class="msg-actions">
+                    <button class="btn generate_certs" data-endpoint="${post_url | h}" id="btn_generate_cert">${_('Request Certificate')}</button>
+                  </div>
+                  %endif
               </div>
-              %endif
+            </div>
+            %endif
           </div>
-        </div>
-        %endif
-      </div>
-      %endif
-
-      %if not course.disable_progress_graph:
-        <div class="grade-detail-graph" id="grade-detail-graph" aria-hidden="true"></div>
-      %endif
-
-      % if credit_course_requirements:
-        <section class="credit-eligibility">
-            <div class="credit-eligibility-container">
-                <div class="eligibility-heading">
-                    <h2>${_("Requirements for Course Credit")}</h2>
-                </div>
-                %if credit_course_requirements['eligibility_status'] == 'not_eligible':
-                    <span class="eligibility_msg">${_("{student_name}, you are no longer eligible for credit in this course.").format(student_name=student.profile.name) | h}</span>
-                %elif credit_course_requirements['eligibility_status'] == 'eligible':
-                    <span class="eligibility_msg">${_("{student_name}, you have met the requirements for credit in this course.").format(student_name=student.profile.name) | h}
-                        ${_("{a_start}Go to your dashboard{a_end} to purchase course credit.").format(
-		             a_start=u"<a href={url}>".format(url=reverse('dashboard')),
-			     a_end="</a>"
-		      )}
-                    </span>
-                %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>
-                <div class="requirement-container" data-eligible="${credit_course_requirements['eligibility_status'] | h}">
-                %for requirement in credit_course_requirements['requirements']:
-                    <div class="requirement">
-                        <div class="requirement-name">
-                            ${_(requirement['display_name']) | h}
-                            %if requirement['namespace'] == 'grade':
-                                <span>${int(requirement['criteria']['min_grade'] * 100) | h}%</span>
-                            %endif
-                        </div>
-                        <div class="requirement-status">
-                            %if requirement['status']:
-                                %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>${_("Verification Failed" )}</span>
-                                %elif requirement['status'] == 'declined':
-                                    <i class="fa fa-times" aria-hidden="true"></i>
-                                    <span>${_("Verification Declined" )}</span>
-                                %elif requirement['status'] == 'satisfied':
-                                    <i class="fa fa-check" aria-hidden="true"></i>
-                                    <span>${_("Completed by")} ${get_time_display(requirement['status_date'], DEFAULT_SHORT_DATE_FORMAT, settings.TIME_ZONE)}</span>
+          %endif
+
+          %if not course.disable_progress_graph:
+            <div class="grade-detail-graph" id="grade-detail-graph" aria-hidden="true"></div>
+          %endif
+
+          % if credit_course_requirements:
+            <section class="credit-eligibility">
+                <div class="credit-eligibility-container">
+                    <div class="eligibility-heading">
+                        <h2>${_("Requirements for Course Credit")}</h2>
+                    </div>
+                    %if credit_course_requirements['eligibility_status'] == 'not_eligible':
+                        <span class="eligibility_msg">${_("{student_name}, you are no longer eligible for credit in this course.").format(student_name=student.profile.name) | h}</span>
+                    %elif credit_course_requirements['eligibility_status'] == 'eligible':
+                        <span class="eligibility_msg">${_("{student_name}, you have met the requirements for credit in this course.").format(student_name=student.profile.name) | h}
+                            ${_("{a_start}Go to your dashboard{a_end} to purchase course credit.").format(
+    		             a_start=u"<a href={url}>".format(url=reverse('dashboard')),
+    			     a_end="</a>"
+    		      )}
+                        </span>
+                    %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>
+                    <div class="requirement-container" data-eligible="${credit_course_requirements['eligibility_status'] | h}">
+                    %for requirement in credit_course_requirements['requirements']:
+                        <div class="requirement">
+                            <div class="requirement-name">
+                                ${_(requirement['display_name']) | h}
+                                %if requirement['namespace'] == 'grade':
+                                    <span>${int(requirement['criteria']['min_grade'] * 100) | h}%</span>
                                 %endif
-                            %else:
-                                <span class="not-achieve">${_("Upcoming")}</span>
-                            %endif
+                            </div>
+                            <div class="requirement-status">
+                                %if requirement['status']:
+                                    %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>${_("Verification Failed" )}</span>
+                                    %elif requirement['status'] == 'declined':
+                                        <i class="fa fa-times" aria-hidden="true"></i>
+                                        <span>${_("Verification Declined" )}</span>
+                                    %elif requirement['status'] == 'satisfied':
+                                        <i class="fa fa-check" aria-hidden="true"></i>
+                                        <span>${_("Completed by")} ${get_time_display(requirement['status_date'], DEFAULT_SHORT_DATE_FORMAT, settings.TIME_ZONE)}</span>
+                                    %endif
+                                %else:
+                                    <span class="not-achieve">${_("Upcoming")}</span>
+                                %endif
+                            </div>
                         </div>
-                    </div>
-                %endfor
-                 </div>
-                <button class="detail-collapse" aria-live="polite"><i class="fa fa-caret-up" aria-hidden="true"></i>
-                    <span class="requirement-detail">${_("Less")}</span>
-                </button>
-            </div>
-        </section>
-      %endif
-
-      <div class="chapters">
-        %for chapter in courseware_summary:
-        %if not chapter['display_name'] == "hidden":
-        <section>
-          <h2>${ chapter['display_name'] | h}</h2>
-
-          <div class="sections">
-            %for section in chapter['sections']:
-            <div>
-              <%
-              earned = section['section_total'].earned
-              total = section['section_total'].possible
-              percentageString = "{0:.0%}".format( float(earned)/total) if earned > 0 and total > 0 else ""
-              %>
-
-              <h3><a href="${reverse('courseware_section', kwargs=dict(course_id=course.id.to_deprecated_string(), chapter=chapter['url_name'], section=section['url_name'])) | h}">
-                ${ section['display_name'] | h}
-                %if total > 0 or earned > 0:
-                  <span class="sr">
-                    ${_("{earned} of {total} possible points").format(earned='{:.3n}'.format(float(earned)), total='{:.3n}'.format(float(total))) | h}
-                  </span>
-                %endif
-                </a>
-                %if total > 0 or earned > 0:
-                  <span> ${"({0:.3n}/{1:.3n}) {2}".format( float(earned), float(total), percentageString ) | h}</span>
-                %endif
-              </h3>
-              <p>
-                ${section['format'] | h}
-
-                %if section.get('due') is not None:
+                    %endfor
+                     </div>
+                    <button class="detail-collapse" aria-live="polite"><i class="fa fa-caret-up" aria-hidden="true"></i>
+                        <span class="requirement-detail">${_("Less")}</span>
+                    </button>
+                </div>
+            </section>
+          %endif
+
+          <div class="chapters">
+            %for chapter in courseware_summary:
+            %if not chapter['display_name'] == "hidden":
+            <section>
+              <h2>${ chapter['display_name'] | h}</h2>
+
+              <div class="sections">
+                %for section in chapter['sections']:
+                <div>
                   <%
-                      formatted_string = get_time_display(section['due'], course.due_date_display_format, coerce_tz=settings.TIME_ZONE_DISPLAYED_FOR_DEADLINES)
-                      due_date = '' if len(formatted_string)==0 else _(u'due {date}').format(date=formatted_string)
+                  earned = section['section_total'].earned
+                  total = section['section_total'].possible
+                  percentageString = "{0:.0%}".format( float(earned)/total) if earned > 0 and total > 0 else ""
                   %>
-                  <em>
-                  ${due_date | h}
-                  </em>
-                %endif
-              </p>
-
-              <div class="scores">
-                %if len(section['scores']) > 0:
-                  <h3> ${ _("Problem Scores: ") if section['graded'] else _("Practice Scores: ")} </h3>
-                  <ol>
-                    %for score in section['scores']:
-                    <li>${"{0:.3n}/{1:.3n}".format(float(score.earned),float(score.possible)) | h}</li>
-                    %endfor
-                  </ol>
-                %else:
-                  <h3 class="no-scores"> ${_("No problem scores in this section")} </h3>
-                %endif
-              </div>
-
 
-            </div> <!--End section-->
+                  <h3><a href="${reverse('courseware_section', kwargs=dict(course_id=course.id.to_deprecated_string(), chapter=chapter['url_name'], section=section['url_name'])) | h}">
+                    ${ section['display_name'] | h}
+                    %if total > 0 or earned > 0:
+                      <span class="sr">
+                        ${_("{earned} of {total} possible points").format(earned='{:.3n}'.format(float(earned)), total='{:.3n}'.format(float(total))) | h}
+                      </span>
+                    %endif
+                    </a>
+                    %if total > 0 or earned > 0:
+                      <span> ${"({0:.3n}/{1:.3n}) {2}".format( float(earned), float(total), percentageString ) | h}</span>
+                    %endif
+                  </h3>
+                  <p>
+                    ${section['format'] | h}
+
+                    %if section.get('due') is not None:
+                      <%
+                          formatted_string = get_time_display(section['due'], course.due_date_display_format, coerce_tz=settings.TIME_ZONE_DISPLAYED_FOR_DEADLINES)
+                          due_date = '' if len(formatted_string)==0 else _(u'due {date}').format(date=formatted_string)
+                      %>
+                      <em>
+                      ${due_date | h}
+                      </em>
+                    %endif
+                  </p>
+
+                  <div class="scores">
+                    %if len(section['scores']) > 0:
+                      <h3> ${ _("Problem Scores: ") if section['graded'] else _("Practice Scores: ")} </h3>
+                      <ol>
+                        %for score in section['scores']:
+                        <li>${"{0:.3n}/{1:.3n}".format(float(score.earned),float(score.possible)) | h}</li>
+                        %endfor
+                      </ol>
+                    %else:
+                      <h3 class="no-scores"> ${_("No problem scores in this section")} </h3>
+                    %endif
+                  </div>
+
+
+                </div> <!--End section-->
+                %endfor
+              </div> <!--End sections-->
+            </section> <!--End chapter-->
+            %endif
             %endfor
-          </div> <!--End sections-->
-        </section> <!--End chapter-->
-        %endif
-        %endfor
-      </div> <!--End chapters-->
+          </div> <!--End chapters-->
 
-    </div>
+        </div>
+    </main>
   </div>
 </div>
-
diff --git a/lms/templates/courseware/static_tab.html b/lms/templates/courseware/static_tab.html
index 01ebd2fde7030a2e3d0e3b1f440f0218dbc4ab5f..56310061d06423e3e6c553546bb395df356be706 100644
--- a/lms/templates/courseware/static_tab.html
+++ b/lms/templates/courseware/static_tab.html
@@ -16,8 +16,10 @@
 
 <%include file="/courseware/course_navigation.html" args="active_page='static_tab_{0}'.format(tab['url_slug'])" />
 
-<section class="container">
-  <div class="static_tab_wrapper">
-    ${tab_contents}
-  </div>
-</section>
+<main id="main" aria-label="Content" tabindex="-1">
+    <section class="container">
+      <div class="static_tab_wrapper">
+        ${tab_contents}
+      </div>
+    </section>
+</main>
diff --git a/lms/templates/dashboard.html b/lms/templates/dashboard.html
index be5a13baa966571feeaf1c6ea471c841b362ebc7..ecb8447cca8eec587428200ae41625f82a6acbb3 100644
--- a/lms/templates/dashboard.html
+++ b/lms/templates/dashboard.html
@@ -19,7 +19,6 @@ from openedx.core.djangolib.markup import Text, HTML
 
 <%block name="pagetitle">${_("Dashboard")}</%block>
 <%block name="bodyclass">view-dashboard is-authenticated</%block>
-<%block name="nav_skip">#my-courses</%block>
 
 <%block name="header_extras">
 % for template_name in ["donation"]:
@@ -75,120 +74,122 @@ from openedx.core.djangolib.markup import Text, HTML
     %endif
 </div>
 
-<section class="container dashboard" id="dashboard-main">
-  <section class="my-courses" id="my-courses" role="main" tabindex="-1">
-    <header class="wrapper-header-courses">
-      <h2 class="header-courses">${_("My Courses")}</h2>
-    </header>
+<main id="main" aria-label="Content" tabindex="-1">
+    <section class="container dashboard" id="dashboard-main">
+      <section class="my-courses" id="my-courses">
+        <header class="wrapper-header-courses">
+          <h2 class="header-courses">${_("My Courses")}</h2>
+        </header>
+
+
+        % if len(course_enrollments) > 0:
+          <ul class="listing-courses">
+          <% share_settings = getattr(settings, 'SOCIAL_SHARING_SETTINGS', {}) %>
+          % for dashboard_index, enrollment in enumerate(course_enrollments):
+            <% show_courseware_link = (enrollment.course_id in show_courseware_links_for) %>
+            <% cert_status = cert_statuses.get(enrollment.course_id) %>
+            <% can_unenroll = (not cert_status) or cert_status.get('can_unenroll') %>
+            <% credit_status = credit_statuses.get(enrollment.course_id) %>
+            <% show_email_settings = (enrollment.course_id in show_email_settings_for) %>
+            <% course_mode_info = all_course_modes.get(enrollment.course_id) %>
+            <% show_refund_option = (enrollment.course_id in show_refund_option_for) %>
+            <% is_paid_course = (enrollment.course_id in enrolled_courses_either_paid) %>
+            <% is_course_blocked = (enrollment.course_id in block_courses) %>
+            <% course_verification_status = verification_status_by_course.get(enrollment.course_id, {}) %>
+            <% course_requirements = courses_requirements_not_met.get(enrollment.course_id) %>
+            <% course_program_info = course_programs.get(unicode(enrollment.course_id)) %>
+            <%include file = 'dashboard/_dashboard_course_listing.html' args="course_overview=enrollment.course_overview, enrollment=enrollment, show_courseware_link=show_courseware_link, cert_status=cert_status, can_unenroll=can_unenroll, credit_status=credit_status, show_email_settings=show_email_settings, course_mode_info=course_mode_info, show_refund_option=show_refund_option, is_paid_course=is_paid_course, is_course_blocked=is_course_blocked, verification_status=course_verification_status, course_requirements=course_requirements, dashboard_index=dashboard_index, share_settings=share_settings, user=user, course_program_info=course_program_info" />
+          % endfor
 
+          </ul>
+        % else:
+          <section class="empty-dashboard-message">
+            <p>${_("You are not enrolled in any courses yet.")}</p>
 
-    % if len(course_enrollments) > 0:
-      <ul class="listing-courses">
-      <% share_settings = getattr(settings, 'SOCIAL_SHARING_SETTINGS', {}) %>
-      % for dashboard_index, enrollment in enumerate(course_enrollments):
-        <% show_courseware_link = (enrollment.course_id in show_courseware_links_for) %>
-        <% cert_status = cert_statuses.get(enrollment.course_id) %>
-        <% can_unenroll = (not cert_status) or cert_status.get('can_unenroll') %>
-        <% credit_status = credit_statuses.get(enrollment.course_id) %>
-        <% show_email_settings = (enrollment.course_id in show_email_settings_for) %>
-        <% course_mode_info = all_course_modes.get(enrollment.course_id) %>
-        <% show_refund_option = (enrollment.course_id in show_refund_option_for) %>
-        <% is_paid_course = (enrollment.course_id in enrolled_courses_either_paid) %>
-        <% is_course_blocked = (enrollment.course_id in block_courses) %>
-        <% course_verification_status = verification_status_by_course.get(enrollment.course_id, {}) %>
-        <% course_requirements = courses_requirements_not_met.get(enrollment.course_id) %>
-        <% course_program_info = course_programs.get(unicode(enrollment.course_id)) %>
-        <%include file = 'dashboard/_dashboard_course_listing.html' args="course_overview=enrollment.course_overview, enrollment=enrollment, show_courseware_link=show_courseware_link, cert_status=cert_status, can_unenroll=can_unenroll, credit_status=credit_status, show_email_settings=show_email_settings, course_mode_info=course_mode_info, show_refund_option=show_refund_option, is_paid_course=is_paid_course, is_course_blocked=is_course_blocked, verification_status=course_verification_status, course_requirements=course_requirements, dashboard_index=dashboard_index, share_settings=share_settings, user=user, course_program_info=course_program_info" />
-      % endfor
-
-      </ul>
-    % else:
-      <section class="empty-dashboard-message">
-        <p>${_("You are not enrolled in any courses yet.")}</p>
-
-        % if settings.FEATURES.get('COURSES_ARE_BROWSABLE'):
-          <a href="${marketing_link('COURSES')}">
-            ${_("Explore courses")}
-          </a>
-
-        %endif
-      </section>
-    % endif
-
-    % if staff_access and len(errored_courses) > 0:
-      <div id="course-errors">
-        <h2>${_("Course-loading errors")}</h2>
-
-      % for course_dir, errors in errored_courses.items():
-         <h3>${course_dir}</h3>
-             <ul>
-           % for (msg, err) in errors:
-               <li>${msg}
-                 <ul><li><pre>${err}</pre></li></ul>
-               </li>
-           % endfor
-             </ul>
-      % endfor
-      </div>
-    % endif
-  </section>
+            % if settings.FEATURES.get('COURSES_ARE_BROWSABLE'):
+              <a href="${marketing_link('COURSES')}">
+                ${_("Explore courses")}
+              </a>
 
-  % if settings.FEATURES.get('ENABLE_DASHBOARD_SEARCH'):
-    <div id="dashboard-search-bar" class="search-bar dashboard-search-bar" role="search" aria-label="Dashboard">
-      <form>
-        <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>
-          <button type="button" class="cancel-button" aria-label="${_('Clear search')}">
-            <i class="icon fa fa-remove" aria-hidden="true"></i>
-          </button>
-        </div>
-      </form>
-    </div>
-  % endif
-
-  % if settings.FEATURES.get('ENABLE_DASHBOARD_SEARCH'):
-    <section id="dashboard-search-results" class="search-results dashboard-search-results"></section>
-  % endif
+            %endif
+          </section>
+        % endif
 
-  <section class="profile-sidebar" id="profile-sidebar" role="region" aria-label="Account Status Info">
-    <header class="profile">
-      <h2 class="account-status-title sr">${_("Account Status Info")}: </h2>
-    </header>
-    <section class="user-info">
-      <ul>
-
-        % if len(order_history_list):
-        <li class="order-history">
-          <span class="title">${_("Order History")}</span>
-          % for order_history_item in order_history_list:
-            <span><a href="${order_history_item['receipt_url']}" target="_blank" class="edit-name">${order_history_item['order_date']}</a></span>
+        % if staff_access and len(errored_courses) > 0:
+          <div id="course-errors">
+            <h2>${_("Course-loading errors")}</h2>
+
+          % for course_dir, errors in errored_courses.items():
+             <h3>${course_dir}</h3>
+                 <ul>
+               % for (msg, err) in errors:
+                   <li>${msg}
+                     <ul><li><pre>${err}</pre></li></ul>
+                   </li>
+               % endfor
+                 </ul>
           % endfor
-        </li>
+          </div>
         % endif
+      </section>
 
-        <%include file="${static.get_template_path('dashboard/_dashboard_status_verification.html')}" />
-
-      </ul>
+      % if settings.FEATURES.get('ENABLE_DASHBOARD_SEARCH'):
+        <div id="dashboard-search-bar" class="search-bar dashboard-search-bar" role="search" aria-label="Dashboard">
+          <form>
+            <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>
+              <button type="button" class="cancel-button" aria-label="${_('Clear search')}">
+                <i class="icon fa fa-remove" aria-hidden="true"></i>
+              </button>
+            </div>
+          </form>
+        </div>
+      % endif
+
+      % if settings.FEATURES.get('ENABLE_DASHBOARD_SEARCH'):
+        <section id="dashboard-search-results" class="search-results dashboard-search-results"></section>
+      % endif
+
+      <section class="profile-sidebar" id="profile-sidebar" role="region" aria-label="Account Status Info">
+        <header class="profile">
+          <h2 class="account-status-title sr">${_("Account Status Info")}: </h2>
+        </header>
+        <section class="user-info">
+          <ul>
+
+            % if len(order_history_list):
+            <li class="order-history">
+              <span class="title">${_("Order History")}</span>
+              % for order_history_item in order_history_list:
+                <span><a href="${order_history_item['receipt_url']}" target="_blank" class="edit-name">${order_history_item['order_date']}</a></span>
+              % endfor
+            </li>
+            % endif
+
+            <%include file="${static.get_template_path('dashboard/_dashboard_status_verification.html')}" />
+
+          </ul>
+        </section>
+      </section>
+      % if xseries_credentials:
+        <div class="wrapper-xseries-certificates">
+          <p class="title">${_("XSeries Program Certificates")}</p>
+          <p class="copy">${_("You have received a certificate for the following XSeries programs:")}</p>
+          <ul>
+          % for xseries_credential in xseries_credentials:
+            <li>
+              <a class="copy" href="${xseries_credential['credential_url']}">${xseries_credential['display_name']}</a>
+            </li>
+          % endfor
+          </ul>
+        </div>
+      % endif
     </section>
-  </section>
-  % if xseries_credentials:
-    <div class="wrapper-xseries-certificates">
-      <p class="title">${_("XSeries Program Certificates")}</p>
-      <p class="copy">${_("You have received a certificate for the following XSeries programs:")}</p>
-      <ul>
-      % for xseries_credential in xseries_credentials:
-        <li>
-          <a class="copy" href="${xseries_credential['credential_url']}">${xseries_credential['display_name']}</a>
-        </li>
-      % endfor
-      </ul>
-    </div>
-  % endif
-</section>
+</main>
 
 <section id="email-settings-modal" class="modal" aria-hidden="true">
   <div class="inner-wrapper" role="dialog" aria-labelledby="email-settings-title">
diff --git a/lms/templates/discussion/index.html b/lms/templates/discussion/index.html
index 444e8aee1d512e6220af38680ceefae89d157884..82a21da5b96495ff4ef259574607a9fcf2cb3f65 100644
--- a/lms/templates/discussion/index.html
+++ b/lms/templates/discussion/index.html
@@ -8,7 +8,6 @@ from django.core.urlresolvers import reverse
 
 <%block name="bodyclass">discussion</%block>
 <%block name="pagetitle">${_("Discussion - {course_number}").format(course_number=course.display_number_with_default) | h}</%block>
-<%block name="nav_skip">#discussion-container</%block>
 
 <%block name="headextra">
 <%static:css group='style-course-vendor'/>
@@ -39,13 +38,14 @@ from django.core.urlresolvers import reverse
          data-sort-preference="${sort_preference | h}"
          data-flag-moderator="${flag_moderator | h}"
          data-user-cohort-id="${user_cohort | h}"
-         data-course-settings="${course_settings | h}"
-         tabindex="-1">
+         data-course-settings="${course_settings | h}">
     <div class="discussion-body">
         <div class="forum-nav" role="complementary" aria-label="${_("Discussion thread list")}"></div>
-        <div class="discussion-column" role="main" aria-label="Discussion" id="discussion-column">
-          <article class="new-post-article" style="display: none" tabindex="-1" aria-label="${_("New topic form")}"></article>
-          <div class="forum-content"></div>
+        <div class="discussion-column" id="discussion-column">
+            <main id="main" aria-label="Content" tabindex="-1">
+                <article class="new-post-article" style="display: none" tabindex="-1" aria-label="${_("New topic form")}"></article>
+                <div class="forum-content"></div>
+            </main>
         </div>
     </div>
 </section>
diff --git a/lms/templates/edxnotes/edxnotes.html b/lms/templates/edxnotes/edxnotes.html
index 04a08dacbea1a51a4f724affe542391d44cbde6b..37146f4a4b5b90aef11ab5d3fa3c02d473888e77 100644
--- a/lms/templates/edxnotes/edxnotes.html
+++ b/lms/templates/edxnotes/edxnotes.html
@@ -20,7 +20,7 @@ from openedx.core.djangolib.js_utils import dump_js_escaped_json, js_escaped_str
 <section class="container">
   <div class="wrapper-student-notes">
     <div class="student-notes">
-
+    <main id="main" aria-label="Content" tabindex="-1">
       <div class="title-search-container">
         <div class="wrapper-title">
           <h1 class="page-title">
@@ -93,7 +93,7 @@ from openedx.core.djangolib.js_utils import dump_js_escaped_json, js_escaped_str
         </section>
         % endif
       </section>
-
+    </main>
     </div>
   </div>
 </section>
diff --git a/lms/templates/index.html b/lms/templates/index.html
index ddb0d666037cc7a616886d3949f3d07630e63419..ea3ad096efeee24be197408e1416cc6bc1ec8641 100644
--- a/lms/templates/index.html
+++ b/lms/templates/index.html
@@ -5,48 +5,50 @@ from django.utils.translation import ugettext as _
 from django.core.urlresolvers import reverse
 %>
 
-<section class="home">
-  <header>
-    <div class="outer-wrapper">
-      <div class="title">
-        <div class="heading-group">
-          % if homepage_overlay_html:
-            ${homepage_overlay_html}
-          % else:
-              ## Translators: 'Open edX' is a brand, please keep this untranslated. See http://openedx.org for more information.
-              <h1>${_("Welcome to Open edX!")}</h1>
-              ## Translators: 'Open edX' is a brand, please keep this untranslated. See http://openedx.org for more information.
-              <p>${_("It works! This is the default homepage for this Open edX instance.")}</p>
-          % endif
-        </div>
-        % if settings.FEATURES.get('ENABLE_COURSE_DISCOVERY'):
-          <div class="course-search">
-            <form method="get" action="/courses">
-              <label><span class="sr">${_("Search for a course")}</span>
-                <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>
-              </button>
-            </form>
-          </div>
-        % endif
-
-      </div>
+<main id="main" aria-label="Content" tabindex="-1">
+    <section class="home">
+      <header>
+        <div class="outer-wrapper">
+          <div class="title">
+            <div class="heading-group">
+              % if homepage_overlay_html:
+                ${homepage_overlay_html}
+              % else:
+                  ## Translators: 'Open edX' is a brand, please keep this untranslated. See http://openedx.org for more information.
+                  <h1>${_("Welcome to Open edX!")}</h1>
+                  ## Translators: 'Open edX' is a brand, please keep this untranslated. See http://openedx.org for more information.
+                  <p>${_("It works! This is the default homepage for this Open edX instance.")}</p>
+              % endif
+            </div>
+            % if settings.FEATURES.get('ENABLE_COURSE_DISCOVERY'):
+              <div class="course-search">
+                <form method="get" action="/courses">
+                  <label><span class="sr">${_("Search for a course")}</span>
+                    <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>
+                  </button>
+                </form>
+              </div>
+            % endif
 
-      % if show_homepage_promo_video:
-        <a href="#video-modal" class="media" rel="leanModal">
-          <div class="hero">
-            <div class="play-intro"></div>
           </div>
-        </a>
-      % endif
-    </div>
 
-  </header>
-  <%include file="${courses_list}" />
+          % if show_homepage_promo_video:
+            <a href="#video-modal" class="media" rel="leanModal">
+              <div class="hero">
+                <div class="play-intro"></div>
+              </div>
+            </a>
+          % endif
+        </div>
+
+      </header>
+      <%include file="${courses_list}" />
 
-</section>
+    </section>
+</main>
 
 % if show_homepage_promo_video:
   <section id="video-modal" class="modal home-page-video-modal video-modal">
diff --git a/lms/templates/instructor/instructor_dashboard_2/instructor_dashboard_2.html b/lms/templates/instructor/instructor_dashboard_2/instructor_dashboard_2.html
index 1e2a2480802ecae4854fecdc896f42aa37d57d83..8a60cc1a04c06232df11c89ecf97172674c27991 100644
--- a/lms/templates/instructor/instructor_dashboard_2/instructor_dashboard_2.html
+++ b/lms/templates/instructor/instructor_dashboard_2/instructor_dashboard_2.html
@@ -20,7 +20,6 @@ from django.core.urlresolvers import reverse
 ## 6. And tests go in lms/djangoapps/instructor/tests/
 
 <%block name="pagetitle">${_("Instructor Dashboard")}</%block>
-<%block name="nav_skip">#content</%block>
 
 <%block name="headextra">
   <%static:css group='style-course-vendor'/>
@@ -86,41 +85,42 @@ from django.core.urlresolvers import reverse
 
 <section class="container">
   <div class="instructor-dashboard-wrapper-2">
-    <section class="instructor-dashboard-content-2" id="instructor-dashboard-content">
-      <div class="wrap-instructor-info studio-view">
-        %if studio_url:
-        <a class="instructor-info-action" href="${studio_url}">${_("View Course in Studio")}</a>
-        %endif
-      </div>
-
-    <h1>${_("Instructor Dashboard")}</h1>
-
-      %if analytics_dashboard_message:
-        <div class="wrapper-msg urgency-low is-shown">
-            <p>${analytics_dashboard_message}</p>
-        </div>
-      %endif
-
-    ## links which are tied to idash-sections below.
-    ## the links are activated and handled in instructor_dashboard.coffee
-    ## when the javascript loads, it clicks on the first section
-    <ul class="instructor-nav">
-      % for section_data in sections:
-        ## This is necessary so we don't scrape 'section_display_name' as a string.
-        <% dname = section_data['section_display_name'] %>
-        <li class="nav-item"><a href="" data-section="${ section_data['section_key'] }">${_(dname)}</a></li>
-      % endfor
-    </ul>
-
-    ## each section corresponds to a section_data sub-dictionary provided by the view
-    ## to keep this short, sections can be pulled out into their own files
-
-    % for section_data in sections:
-      <section id="${ section_data['section_key'] }" class="idash-section">
-        <%include file="${ section_data['section_key'] }.html" args="section_data=section_data" />
-      </section>
-      % endfor
-    </section>
+        <main id="main" aria-label="Content" tabindex="-1">
+        <section class="instructor-dashboard-content-2" id="instructor-dashboard-content">
+          <div class="wrap-instructor-info studio-view">
+            %if studio_url:
+            <a class="instructor-info-action" href="${studio_url}">${_("View Course in Studio")}</a>
+            %endif
+          </div>
+
+        <h1>${_("Instructor Dashboard")}</h1>
+
+          %if analytics_dashboard_message:
+            <div class="wrapper-msg urgency-low is-shown">
+                <p>${analytics_dashboard_message}</p>
+            </div>
+          %endif
+
+        ## links which are tied to idash-sections below.
+        ## the links are activated and handled in instructor_dashboard.coffee
+        ## when the javascript loads, it clicks on the first section
+        <ul class="instructor-nav">
+          % for section_data in sections:
+            ## This is necessary so we don't scrape 'section_display_name' as a string.
+            <% dname = section_data['section_display_name'] %>
+            <li class="nav-item"><a href="" data-section="${ section_data['section_key'] }">${_(dname)}</a></li>
+          % endfor
+        </ul>
+
+        ## each section corresponds to a section_data sub-dictionary provided by the view
+        ## to keep this short, sections can be pulled out into their own files
+
+        % for section_data in sections:
+          <section id="${ section_data['section_key'] }" class="idash-section">
+            <%include file="${ section_data['section_key'] }.html" args="section_data=section_data" />
+          </section>
+          % endfor
+        </section>
+        </main>
   </div>
 </section>
-
diff --git a/lms/templates/learner_dashboard/programs.html b/lms/templates/learner_dashboard/programs.html
index d563522aa2eef8e94192b783563b7444263a3d15..bff1cecade89fdb944cec8d490fee40be7349416 100644
--- a/lms/templates/learner_dashboard/programs.html
+++ b/lms/templates/learner_dashboard/programs.html
@@ -18,8 +18,9 @@ ProgramListFactory({
 </%block>
 
 <%block name="pagetitle">${_("Programs")}</%block>
-
-<div class="program-list-wrapper">
-    <div class="program-cards-container"></div>
-    <div class="sidebar"></div>
-</div>
+<main id="main" aria-label="Content" tabindex="-1">
+    <div class="program-list-wrapper">
+        <div class="program-cards-container"></div>
+        <div class="sidebar"></div>
+    </div>
+</main>
diff --git a/lms/templates/main.html b/lms/templates/main.html
index b7baaea2fc8f9e0bc29c69caf696b090440e1c7f..808394e8cdf6c1214dd2253fe1ea05f4e8fc7262 100644
--- a/lms/templates/main.html
+++ b/lms/templates/main.html
@@ -120,13 +120,13 @@ from pipeline_mako import render_require_js_path_overrides
 % if not disable_window_wrap:
   <div class="window-wrap" dir="${static.dir_rtl()}">
 % endif
-    <a class="nav-skip" href="<%block name="nav_skip">#content</%block>">${_("Skip to main content")}</a>
+    <a class="nav-skip" href="#main">${_("Skip to main content")}</a>
 
     % if not disable_header:
         <%include file="${static.get_template_path('header.html')}" />
     % endif
 
-    <div role="main" class="content-wrapper" id="content" tabindex="-1">
+    <div class="content-wrapper" id="content">
       ${self.body()}
       <%block name="bodyextra"/>
     </div>
diff --git a/lms/templates/main_django.html b/lms/templates/main_django.html
index f31f791bf5f0969b7ad931ceb8d314541681af31..80dafdf9748d95b8d5c237773d00a9249c5f39ce 100644
--- a/lms/templates/main_django.html
+++ b/lms/templates/main_django.html
@@ -24,11 +24,11 @@
 
 <body class="{% block bodyclass %}{% endblock %} lang_{{LANGUAGE_CODE}}">
   <div class="window-wrap" dir="${static.dir_rtl()}">
-    <a class="nav-skip" href="{% block nav_skip %}#content{% endblock %}">{% trans "Skip to main content" %}</a>
+    <a class="nav-skip" href="#main">{% trans "Skip to main content" %}</a>
     {% with course=request.course %}
       {% include "header.html"|microsite_template_path %}
     {% endwith %}
-    <div role="main" class="content-wrapper" id="content" tabindex="-1">
+    <div class="content-wrapper" id="content">
       {% block body %}{% endblock %}
       {% block bodyextra %}{% endblock %}
     </div>
diff --git a/lms/templates/static_templates/404.html b/lms/templates/static_templates/404.html
index 5929f6910b991c61e43efa51f3d1dfa5d39a1d3a..5e37c3881ecbfdd7cca30afe032d64af8ef7822a 100644
--- a/lms/templates/static_templates/404.html
+++ b/lms/templates/static_templates/404.html
@@ -8,11 +8,13 @@ from openedx.core.djangolib.markup import Text, HTML
 
 <%block name="pagetitle">${_("Page Not Found")}</%block>
 
-<section class="outside-app">
-<h1>${_("Page not found")}</h1>
-<p>${Text(_('The page that you were looking for was not found. Go back to the {link_start}homepage{link_end} or let us know about any pages that may have been moved at {email}.')).format(
-    link_start=HTML('<a href="/">'),
-    link_end=HTML('</a>'),
-    email=HTML('<a href="mailto:{email}">{email}</a>').format(email=Text(static.get_tech_support_email_address()))
-  )}</p>
-</section>
+<main id="main" aria-label="Content" tabindex="-1">
+    <section class="outside-app">
+    <h1>${_("Page not found")}</h1>
+    <p>${Text(_('The page that you were looking for was not found. Go back to the {link_start}homepage{link_end} or let us know about any pages that may have been moved at {email}.')).format(
+        link_start=HTML('<a href="/">'),
+        link_end=HTML('</a>'),
+        email=HTML('<a href="mailto:{email}">{email}</a>').format(email=Text(static.get_tech_support_email_address()))
+      )}</p>
+    </section>
+</main>
diff --git a/lms/templates/static_templates/about.html b/lms/templates/static_templates/about.html
index 33dc3003271d0668efcb5a59ed05302aa22edbb2..fb9f67cf3fd543af9632195b6d92fe132a17e473 100644
--- a/lms/templates/static_templates/about.html
+++ b/lms/templates/static_templates/about.html
@@ -4,7 +4,9 @@
 
 <%block name="pagetitle">${_("About")}</%block>
 
-<section class="container about">
-<h1>${_("About")}</h1>
-<p>${_("This page left intentionally blank. It is not used by edx.org but is left here for possible use by installations of Open edX.")}</p>
-</section>
+<main id="main" aria-label="Content" tabindex="-1">
+    <section class="container about">
+        <h1>${_("About")}</h1>
+        <p>${_("This page left intentionally blank. It is not used by edx.org but is left here for possible use by installations of Open edX.")}</p>
+    </section>
+</main>
diff --git a/lms/templates/static_templates/blog.html b/lms/templates/static_templates/blog.html
index d5b64246c18aff4daf7ed82e4e650acb89fe902c..35256fc05502e3ead6a0523f05df4d65b7e5352a 100644
--- a/lms/templates/static_templates/blog.html
+++ b/lms/templates/static_templates/blog.html
@@ -4,7 +4,9 @@
 
 <%block name="pagetitle">${_("Blog")}</%block>
 
-<section class="container about">
-    <h1>${_("Blog")}</h1>
-    <p>${_("This page left intentionally blank. It is not used by edx.org but is left here for possible use by installations of Open edX.")}</p>
-</section>
+<main id="main" aria-label="Content" tabindex="-1">
+    <section class="container about">
+        <h1>${_("Blog")}</h1>
+        <p>${_("This page left intentionally blank. It is not used by edx.org but is left here for possible use by installations of Open edX.")}</p>
+    </section>
+</main>
diff --git a/lms/templates/static_templates/contact.html b/lms/templates/static_templates/contact.html
index 230693832259c88ba22d44e1d242c4f7ce511c55..63546766aa9e6e3fa7e95b3db85c9747ce0a3b8b 100644
--- a/lms/templates/static_templates/contact.html
+++ b/lms/templates/static_templates/contact.html
@@ -4,7 +4,9 @@
 
 <%block name="pagetitle">${_("Contact")}</%block>
 
-<section class="container about">
-<h1>${_("Contact")}</h1>
-<p>${_("This page left intentionally blank. It is not used by edx.org but is left here for possible use by installations of Open edX.")}</p>
-</section>
+<main id="main" aria-label="Content" tabindex="-1">
+    <section class="container about">
+        <h1>${_("Contact")}</h1>
+        <p>${_("This page left intentionally blank. It is not used by edx.org but is left here for possible use by installations of Open edX.")}</p>
+    </section>
+</main>
diff --git a/lms/templates/static_templates/donate.html b/lms/templates/static_templates/donate.html
index 7f807557b01fea5af3d22dd80bb9e68c8fa617ad..141e6b52f8b531e0b4f99ffa326958c96794e303 100644
--- a/lms/templates/static_templates/donate.html
+++ b/lms/templates/static_templates/donate.html
@@ -4,7 +4,9 @@
 
 <%block name="pagetitle">${_("Donate")}</%block>
 
-<section class="container about">
-    <h1>${_("Donate")}</h1>
-    <p>${_("This page left intentionally blank. It is not used by edx.org but is left here for possible use by installations of Open edX.")}</p>
-</section>
+<main id="main" aria-label="Content" tabindex="-1">
+    <section class="container about">
+        <h1>${_("Donate")}</h1>
+        <p>${_("This page left intentionally blank. It is not used by edx.org but is left here for possible use by installations of Open edX.")}</p>
+    </section>
+</main>
diff --git a/lms/templates/static_templates/embargo.html b/lms/templates/static_templates/embargo.html
index 7eb4ecb30228ea41b5ae487d4dd6937860e4916d..faa89a95709986e8677706da972eb25b530c4957 100644
--- a/lms/templates/static_templates/embargo.html
+++ b/lms/templates/static_templates/embargo.html
@@ -7,14 +7,16 @@ from openedx.core.djangolib.markup import Text, HTML
 
 <%block name="pagetitle">${_("This Course Unavailable In Your Country")}</%block>
 
-<section class="outside-app">
-<p>
-${Text(_("Our system indicates that you are trying to access this {platform_name} "
-    "course from a country or region currently subject to U.S. economic and trade "
-    "sanctions. Unfortunately, at this time {platform_name} must comply with "
-    "export controls, and we cannot allow you to access this course."
-  )).format(
-    platform_name=Text(settings.PLATFORM_NAME),
-  )}
-</p>
-</section>
+<main id="main" aria-label="Content" tabindex="-1">
+    <section class="outside-app">
+    <p>
+    ${Text(_("Our system indicates that you are trying to access this {platform_name} "
+        "course from a country or region currently subject to U.S. economic and trade "
+        "sanctions. Unfortunately, at this time {platform_name} must comply with "
+        "export controls, and we cannot allow you to access this course."
+      )).format(
+        platform_name=Text(settings.PLATFORM_NAME),
+      )}
+    </p>
+    </section>
+</main>
diff --git a/lms/templates/static_templates/faq.html b/lms/templates/static_templates/faq.html
index 8bc016092e8dde681ca57cc22e5174e740ac6af2..77091bbeb2d24c7a8fddb6fc5d893d0317d6c1f0 100644
--- a/lms/templates/static_templates/faq.html
+++ b/lms/templates/static_templates/faq.html
@@ -4,7 +4,9 @@
 
 <%block name="pagetitle">${_("FAQ")}</%block>
 
-<section class="container about">
-<h1>${_("FAQ")}</h1>
-<p>${_("This page left intentionally blank. It is not used by edx.org but is left here for possible use by installations of Open edX.")}</p>
-</section>
+<main id="main" aria-label="Content" tabindex="-1">
+    <section class="container about">
+    <h1>${_("FAQ")}</h1>
+    <p>${_("This page left intentionally blank. It is not used by edx.org but is left here for possible use by installations of Open edX.")}</p>
+    </section>
+</main>
diff --git a/lms/templates/static_templates/help.html b/lms/templates/static_templates/help.html
index 49c27fd86a37c3cb0f54ee3101d380812a0f6a92..46a11109d3d1f4aa08bda157434ebabce25294ca 100644
--- a/lms/templates/static_templates/help.html
+++ b/lms/templates/static_templates/help.html
@@ -4,7 +4,9 @@
 
 <%block name="pagetitle">${_("Help")}</%block>
 
-<section class="container about">
-<h1>${_("Help")}</h1>
-<p>${_("This page left intentionally blank. It is not used by edx.org but is left here for possible use by installations of Open edX.")}</p>
-</section>
+<main id="main" aria-label="Content" tabindex="-1">
+    <section class="container about">
+    <h1>${_("Help")}</h1>
+    <p>${_("This page left intentionally blank. It is not used by edx.org but is left here for possible use by installations of Open edX.")}</p>
+    </section>
+</main>
diff --git a/lms/templates/static_templates/honor.html b/lms/templates/static_templates/honor.html
index 8659528eb5306bf084cd7e0fdec8db535a1d5318..4ddb37d76a36f3294be3e6b544f03b29ec56adbc 100644
--- a/lms/templates/static_templates/honor.html
+++ b/lms/templates/static_templates/honor.html
@@ -4,7 +4,9 @@
 
 <%block name="pagetitle">${_("Honor Code")}</%block>
 
-<section class="container about">
-<h1>${_("Honor Code")}</h1>
-<p>${_("This page left intentionally blank. It is not used by edx.org but is left here for possible use by installations of Open edX.")}</p>
-</section>
+<main id="main" aria-label="Content" tabindex="-1">
+    <section class="container about">
+    <h1>${_("Honor Code")}</h1>
+    <p>${_("This page left intentionally blank. It is not used by edx.org but is left here for possible use by installations of Open edX.")}</p>
+    </section>
+</main>
diff --git a/lms/templates/static_templates/jobs.html b/lms/templates/static_templates/jobs.html
index 0b1c9f1e28655af033142336ccd33dab16955c57..0b0e6bb2eafcc76385d1f375f150aed9bb4d93f6 100644
--- a/lms/templates/static_templates/jobs.html
+++ b/lms/templates/static_templates/jobs.html
@@ -4,7 +4,9 @@
 
 <%block name="pagetitle">${_("Jobs")}</%block>
 
-<section class="container about">
-<h1>${_("Jobs")}</h1>
-<p>${_("This page left intentionally blank. It is not used by edx.org but is left here for possible use by installations of Open edX.")}</p>
-</section>
+<main id="main" aria-label="Content" tabindex="-1">
+    <section class="container about">
+    <h1>${_("Jobs")}</h1>
+    <p>${_("This page left intentionally blank. It is not used by edx.org but is left here for possible use by installations of Open edX.")}</p>
+    </section>
+</main>
diff --git a/lms/templates/static_templates/media-kit.html b/lms/templates/static_templates/media-kit.html
index 3fd01e0e0dd541b9c4ae7c02788c73907f854e06..e772e6b64393e94983b84469c2a53aa90bf1adc3 100644
--- a/lms/templates/static_templates/media-kit.html
+++ b/lms/templates/static_templates/media-kit.html
@@ -4,7 +4,9 @@
 
 <%block name="pagetitle">${_("Media Kit")}</%block>
 
-<section class="container about">
-<h1>${_("Media Kit")}</h1>
-<p>${_("This page left intentionally blank. It is not used by edx.org but is left here for possible use by installations of Open edX.")}</p>
-</section>
+<main id="main" aria-label="Cntent" tabindex="-1">
+    <section class="container about">
+    <h1>${_("Media Kit")}</h1>
+    <p>${_("This page left intentionally blank. It is not used by edx.org but is left here for possible use by installations of Open edX.")}</p>
+    </section>
+</main>
diff --git a/lms/templates/static_templates/news.html b/lms/templates/static_templates/news.html
index 7b5737783e0da9cde351278043e1be4599d2efca..b7556782188d832e7bfeb6f5e58123a11d7c1d47 100644
--- a/lms/templates/static_templates/news.html
+++ b/lms/templates/static_templates/news.html
@@ -5,7 +5,9 @@
 
 <%block name="pagetitle">${_("In the Press")}</%block>
 
-<section class="container about">
-<h1>${_("In the Press")}</h1>
-<p>${_("This page left intentionally blank. It is not used by edx.org but is left here for possible use by installations of Open edX.")}</p>
-</section>
+<main id="main" aria-label="Content" tabindex="-1">
+    <section class="container about">
+    <h1>${_("In the Press")}</h1>
+    <p>${_("This page left intentionally blank. It is not used by edx.org but is left here for possible use by installations of Open edX.")}</p>
+    </section>
+</main>
diff --git a/lms/templates/static_templates/press.html b/lms/templates/static_templates/press.html
index 7b5737783e0da9cde351278043e1be4599d2efca..b7556782188d832e7bfeb6f5e58123a11d7c1d47 100644
--- a/lms/templates/static_templates/press.html
+++ b/lms/templates/static_templates/press.html
@@ -5,7 +5,9 @@
 
 <%block name="pagetitle">${_("In the Press")}</%block>
 
-<section class="container about">
-<h1>${_("In the Press")}</h1>
-<p>${_("This page left intentionally blank. It is not used by edx.org but is left here for possible use by installations of Open edX.")}</p>
-</section>
+<main id="main" aria-label="Content" tabindex="-1">
+    <section class="container about">
+    <h1>${_("In the Press")}</h1>
+    <p>${_("This page left intentionally blank. It is not used by edx.org but is left here for possible use by installations of Open edX.")}</p>
+    </section>
+</main>
diff --git a/lms/templates/static_templates/privacy.html b/lms/templates/static_templates/privacy.html
index 1eb1d5aba375dafa5edd12f6e7baacaa7f012737..36943d6ea5b52e950023f90befd959e7d107f4a8 100644
--- a/lms/templates/static_templates/privacy.html
+++ b/lms/templates/static_templates/privacy.html
@@ -5,7 +5,9 @@
 
 <%block name="pagetitle">${_("Privacy Policy")}</%block>
 
-<section class="container about">
-<h1>${_("Privacy Policy")}</h1>
-<p>${_("This page left intentionally blank. It is not used by edx.org but is left here for possible use by installations of Open edX.")}</p>
-</section>
+<main id="main" aria-label="Content" tabindex="-1">
+    <section class="container about">
+    <h1>${_("Privacy Policy")}</h1>
+    <p>${_("This page left intentionally blank. It is not used by edx.org but is left here for possible use by installations of Open edX.")}</p>
+    </section>
+</main>
diff --git a/lms/templates/static_templates/server-down.html b/lms/templates/static_templates/server-down.html
index cb546b826a3f27dfe8bab7ab5ea1c3ca0f12d1eb..8b4f5efbf1cc51c5f8e75016ee3397c427684445 100644
--- a/lms/templates/static_templates/server-down.html
+++ b/lms/templates/static_templates/server-down.html
@@ -1,19 +1,21 @@
 <%page expression_filter="h"/>
 <%!
-from django.utils.translation import ugettext as _ 
+from django.utils.translation import ugettext as _
 from openedx.core.djangolib.markup import Text, HTML
 %>
 <%inherit file="../main.html" />
 
-<section class="outside-app">
-  <h1>
-    ${Text(_("Currently the {platform_name} servers are down")).format(
-        platform_name=HTML(u"<em>{}</em>").format(Text(settings.PLATFORM_NAME))
-    )}
-  </h1>
-  <p>
-    ${Text(_("Our staff is currently working to get the site back up as soon as possible. "
-    "Please email us at {tech_support_email} to report any problems or downtime.")).format(
-        tech_support_email=HTML('<a href="mailto:{0}">{0}</a>').format(Text(settings.TECH_SUPPORT_EMAIL))
-    )}</p>
-</section>
+<main id="main" aria-label="Content" tabindex="-1">
+    <section class="outside-app">
+      <h1>
+        ${Text(_("Currently the {platform_name} servers are down")).format(
+            platform_name=HTML(u"<em>{}</em>").format(Text(settings.PLATFORM_NAME))
+        )}
+      </h1>
+      <p>
+        ${Text(_("Our staff is currently working to get the site back up as soon as possible. "
+        "Please email us at {tech_support_email} to report any problems or downtime.")).format(
+            tech_support_email=HTML('<a href="mailto:{0}">{0}</a>').format(Text(settings.TECH_SUPPORT_EMAIL))
+        )}</p>
+    </section>
+</main>
diff --git a/lms/templates/static_templates/server-error.html b/lms/templates/static_templates/server-error.html
index 69fb62cc25fd5d91169c86f846f39824976663ee..4993a6033b14eaecee37e8ea984036837098ed42 100644
--- a/lms/templates/static_templates/server-error.html
+++ b/lms/templates/static_templates/server-error.html
@@ -6,17 +6,19 @@ from openedx.core.djangolib.markup import Text, HTML
 %>
 <%inherit file="../main.html" />
 
-<section class="outside-app">
-  <h1>
-    ${Text(_(u"There has been a 500 error on the {platform_name} servers")).format(
-        platform_name=HTML("<em>{platform_name}</em>").format(platform_name=Text(static.get_platform_name()))
-    )}
-  </h1>
-  <p>
-    ${Text(_('Please wait a few seconds and then reload the page. If the problem persists, please email us at {email}.')).format(
-        email=HTML('<a href="mailto:{email}">{email}</a>').format(
-            email=Text(static.get_tech_support_email_address())
-        )
-    )}
-  </p>
-</section>
+<main id="main" aria-label="Content" tabindex="-1">
+    <section class="outside-app">
+      <h1>
+        ${Text(_(u"There has been a 500 error on the {platform_name} servers")).format(
+            platform_name=HTML("<em>{platform_name}</em>").format(platform_name=Text(static.get_platform_name()))
+        )}
+      </h1>
+      <p>
+        ${Text(_('Please wait a few seconds and then reload the page. If the problem persists, please email us at {email}.')).format(
+            email=HTML('<a href="mailto:{email}">{email}</a>').format(
+                email=Text(static.get_tech_support_email_address())
+            )
+        )}
+      </p>
+    </section>
+</main>
diff --git a/lms/templates/static_templates/server-overloaded.html b/lms/templates/static_templates/server-overloaded.html
index 00daab5217eb3f68026530d14635d3e7ebe79111..09fe1a11de077dfd9baa76adffae97f64d2bd798 100644
--- a/lms/templates/static_templates/server-overloaded.html
+++ b/lms/templates/static_templates/server-overloaded.html
@@ -5,16 +5,18 @@ from openedx.core.djangolib.markup import Text, HTML
 %>
 <%inherit file="../main.html" />
 
-<section class="outside-app">
-  <h1>
-    ${Text(_("Currently the {platform_name} servers are overloaded")).format(
-        platform_name=HTML("<em>{}</em>").format(platform_name=Text(settings.PLATFORM_NAME))
-    )}
-  </h1>
-  <p>
-    ${Text(_("Our staff is currently working to get the site back up as soon as possible. "
-    "Please email us at {tech_support_email} to report any problems or downtime.")).format(
-        tech_support_email=HTML('<a href="mailto:{0}">{0}</a>').format(tech_support_email=Text(settings.TECH_SUPPORT_EMAIL))
-    )}
-  </p>
-</section>
+<main id="main" aria-label="Content" tabindex="-1">
+    <section class="outside-app">
+      <h1>
+        ${Text(_("Currently the {platform_name} servers are overloaded")).format(
+            platform_name=HTML("<em>{}</em>").format(platform_name=Text(settings.PLATFORM_NAME))
+        )}
+      </h1>
+      <p>
+        ${Text(_("Our staff is currently working to get the site back up as soon as possible. "
+        "Please email us at {tech_support_email} to report any problems or downtime.")).format(
+            tech_support_email=HTML('<a href="mailto:{0}">{0}</a>').format(tech_support_email=Text(settings.TECH_SUPPORT_EMAIL))
+        )}
+      </p>
+    </section>
+</main>
diff --git a/lms/templates/static_templates/tos.html b/lms/templates/static_templates/tos.html
index 74f786b552b222ca2d887ffdadddb67ce4548bbd..87edbad6efb04a087d53143c2b767d129ffd8a90 100644
--- a/lms/templates/static_templates/tos.html
+++ b/lms/templates/static_templates/tos.html
@@ -4,7 +4,9 @@
 
 <%block name="pagetitle">${_("Terms of Service")}</%block>
 
-<section class="container about">
-<h1>${_("Terms of Service")}</h1>
-<p>${_("This page left intentionally blank. It is not used by edx.org but is left here for possible use by installations of Open edX.")}</p>
-</section>
+<main id="main" aria-label="Content" tabindex="-1">
+    <section class="container about">
+    <h1>${_("Terms of Service")}</h1>
+    <p>${_("This page left intentionally blank. It is not used by edx.org but is left here for possible use by installations of Open edX.")}</p>
+    </section>
+</main>
diff --git a/lms/templates/student_account/account_settings.html b/lms/templates/student_account/account_settings.html
index 61d465a9c684edb089620154dcb3ebb7b2da7ce2..723a6d4c9288d171add2c320de5bcc3b62305b14 100644
--- a/lms/templates/student_account/account_settings.html
+++ b/lms/templates/student_account/account_settings.html
@@ -16,7 +16,6 @@ from openedx.core.djangolib.js_utils import dump_js_escaped_json, js_escaped_str
 <%namespace name='static' file='/static_content.html'/>
 
 <%block name="pagetitle">${_("Account Settings")}</%block>
-<%block name="nav_skip">#content</%block>
 
 % if duplicate_provider:
     <section>
@@ -37,7 +36,7 @@ from openedx.core.djangolib.js_utils import dump_js_escaped_json, js_escaped_str
     var platformName = '${ static.get_platform_name() | n, js_escaped_string }';
 
     AccountSettingsFactory(
-        fieldsData, 
+        fieldsData,
         authData,
         '${ user_accounts_api_url | n, js_escaped_string }',
         '${ user_preferences_api_url | n, js_escaped_string }',
diff --git a/lms/templates/student_account/account_settings.underscore b/lms/templates/student_account/account_settings.underscore
index 58207d1206415a1f13ee2eae184b1f5c414a5c9d..6292dbdb91fab767f95b320ef6c749a62ddd36b2 100644
--- a/lms/templates/student_account/account_settings.underscore
+++ b/lms/templates/student_account/account_settings.underscore
@@ -1,3 +1,4 @@
+<main id="main" aria-label="Content" tabindex="-1">
 <div class="account-settings-container">
     <div class="wrapper-header">
         <h2 class="header-title"><%- gettext("Account Settings") %></h2>
@@ -22,3 +23,4 @@
         <% }); %>
     </div>
 </div>
+</main>
diff --git a/lms/templates/student_account/login_and_register.html b/lms/templates/student_account/login_and_register.html
index dc01423f01117303fdb044a6d28ec0afd804ead8..0279fa98953889a61edef7f41993eb269724674b 100644
--- a/lms/templates/student_account/login_and_register.html
+++ b/lms/templates/student_account/login_and_register.html
@@ -33,5 +33,7 @@
 </%block>
 
 <div class="section-bkg-wrapper">
-    <div id="login-and-registration-container" class="login-register" />
+    <main id="main" aria-label="Content" tabindex="-1">
+        <div id="login-and-registration-container" class="login-register" />
+    </main>
 </div>
diff --git a/lms/templates/student_profile/learner_profile.html b/lms/templates/student_profile/learner_profile.html
index 7ba3b89ab98c6e2f9a279e976f736a4e712afd2d..8f974357004c5a3f1d2187d0091ba4cf6c81dc6b 100644
--- a/lms/templates/student_profile/learner_profile.html
+++ b/lms/templates/student_profile/learner_profile.html
@@ -9,16 +9,17 @@ from openedx.core.djangolib.js_utils import dump_js_escaped_json
 %>
 
 <%block name="pagetitle">${_("Learner Profile")}</%block>
-<%block name="nav_skip">#content</%block>
 
 <%block name="bodyclass">view-profile</%block>
 
 <div class="message-banner" aria-live="polite"></div>
-<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>
+<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>
+        </div>
     </div>
-</div>
+</main>
 <%block name="headextra">
     <%static:css group='style-course'/>
 </%block>
diff --git a/lms/templates/wiki/article.html b/lms/templates/wiki/article.html
index f06d93ea4409e50fad358f8af435e806334243b5..0a4d1d659fdb7c62e59b405e37a8a3976e71412c 100644
--- a/lms/templates/wiki/article.html
+++ b/lms/templates/wiki/article.html
@@ -7,22 +7,23 @@
 {% block wiki_breadcrumbs %}
 {% include "wiki/includes/breadcrumbs.html" %}
 {% endblock %}
-{% block nav_skip %}#main-article{% endblock %}
 
 {% block wiki_contents %}
 
   <div class="article-wrapper">
 
-    <article class="main-article" id="main-article" tabindex="-1">
-        {% if selected_tab != "edit" %}
-          <h1>{{ article.current_revision.title }}</h1>
+    <main id="main" aria-label="Content" tabindex="-1">
+        <article class="main-article" id="main-article">
+            {% if selected_tab != "edit" %}
+              <h1>{{ article.current_revision.title }}</h1>
 
-        {% endif %}
+            {% endif %}
 
-        {% block wiki_contents_tab %}
-        {% wiki_render article %}
-        {% endblock %}
-    </article>
+            {% block wiki_contents_tab %}
+            {% wiki_render article %}
+            {% endblock %}
+        </article>
+    </main>
 
     <div class="article-functions">
       <ul class="nav nav-tabs">
diff --git a/lms/templates/wiki/base.html b/lms/templates/wiki/base.html
index 6223193d50898099d98d24d0d01c76bb07998edc..c8f5eadf29e5dc9e14a9abdb463969c6d6dcebd6 100644
--- a/lms/templates/wiki/base.html
+++ b/lms/templates/wiki/base.html
@@ -47,8 +47,6 @@
 
 {% endblock %}
 
-{% block nav_skip %}#wiki-content{% endblock %}
-
 {% block body %}
   {% if request.course %}
   {% with course=request.course %}
@@ -56,6 +54,7 @@
   {% endwith %}
   {% endif %}
 
+<main id="main" aria-label="Content" tabindex="-1">
   <section class="container wiki {{ selected_tab }}" id="wiki-content">
     <div class="wiki-wrapper">
       {% block wiki_body %}
@@ -77,5 +76,6 @@
     </div>
 
   </section>
+</main>
 
 {% endblock %}
diff --git a/themes/edx.org/lms/templates/dashboard.html b/themes/edx.org/lms/templates/dashboard.html
index 51476bc93436923d02ef084ca646691a3d8bbc28..afe2874655af86f20a0856dca750f27a0ca1f5c9 100644
--- a/themes/edx.org/lms/templates/dashboard.html
+++ b/themes/edx.org/lms/templates/dashboard.html
@@ -20,7 +20,6 @@ from openedx.core.djangolib.js_utils import dump_js_escaped_json, js_escaped_str
 
 <%block name="pagetitle">${_("Dashboard")}</%block>
 <%block name="bodyclass">view-dashboard is-authenticated</%block>
-<%block name="nav_skip">#my-courses</%block>
 
 <%block name="header_extras">
 % for template_name in ["donation"]:
@@ -77,7 +76,8 @@ from openedx.core.djangolib.js_utils import dump_js_escaped_json, js_escaped_str
 </div>
 
 <section class="container dashboard" id="dashboard-main">
-  <section class="my-courses" id="my-courses" role="main" aria-label="Content" tabindex="-1">
+<main id="main" aria-label="Content" tabindex="-1">
+  <section class="my-courses" id="my-courses">
     <header class="wrapper-header-courses">
       <h2 class="header-courses">${_("My Courses")}</h2>
     </header>
@@ -132,6 +132,7 @@ from openedx.core.djangolib.js_utils import dump_js_escaped_json, js_escaped_str
       </div>
     % endif
   </section>
+</main>
 
   % if settings.FEATURES.get('ENABLE_DASHBOARD_SEARCH'):
     <div id="dashboard-search-bar" class="search-bar dashboard-search-bar" role="search" aria-label="Dashboard">