Commit 8e347f40 by clrux

Merge pull request #12101 from edx/clrux/ac-342-tweaking-skip-links

AC-342 sending skip links to single main, relevant
parents 68719748 2a23757f
...@@ -54,7 +54,7 @@ from openedx.core.djangolib.js_utils import ( ...@@ -54,7 +54,7 @@ from openedx.core.djangolib.js_utils import (
<body class="${static.dir_rtl()} <%block name='bodyclass'></%block> lang_${LANGUAGE_CODE}"> <body class="${static.dir_rtl()} <%block name='bodyclass'></%block> lang_${LANGUAGE_CODE}">
<%block name="view_notes"></%block> <%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"> <script type="text/javascript">
window.baseUrl = "${settings.STATIC_URL | n, js_escaped_string}"; window.baseUrl = "${settings.STATIC_URL | n, js_escaped_string}";
...@@ -72,9 +72,11 @@ from openedx.core.djangolib.js_utils import ( ...@@ -72,9 +72,11 @@ from openedx.core.djangolib.js_utils import (
<%block name="page_alert"></%block> <%block name="page_alert"></%block>
</div> </div>
<div id="content" tabindex="-1"> <main id="main" aria-label="Content" tabindex="-1">
<%block name="content"></%block> <div id="content">
</div> <%block name="content"></%block>
</div>
</main>
% if user.is_authenticated(): % if user.is_authenticated():
<%include file="widgets/sock.html" args="online_help_token=online_help_token" /> <%include file="widgets/sock.html" args="online_help_token=online_help_token" />
......
...@@ -22,7 +22,7 @@ from openedx.core.djangolib.js_utils import js_escaped_string ...@@ -22,7 +22,7 @@ from openedx.core.djangolib.js_utils import js_escaped_string
</%block> </%block>
<%block name="content"> <%block name="content">
<div id="content" tabindex="-1"> <div id="content">
<div class="wrapper-mast wrapper"> <div class="wrapper-mast wrapper">
<header class="mast mast-wizard has-actions"> <header class="mast mast-wizard has-actions">
<h1 class="page-header"> <h1 class="page-header">
......
<section class="container"> <section class="container">
<div class="wrapper-student-notes"> <div class="wrapper-student-notes">
<div class="student-notes"> <div class="student-notes">
<main id="main" aria-label="Content" tabindex="-1">
<div class="title-search-container"> <div class="title-search-container">
<div class="wrapper-title"> <div class="wrapper-title">
<h1 class="page-title"> <h1 class="page-title">
...@@ -42,7 +42,7 @@ ...@@ -42,7 +42,7 @@
<span class="copy">Loading</span> <span class="copy">Loading</span>
</div> </div>
</section> </section>
</main>
</div> </div>
</div> </div>
</section> </section>
...@@ -10,7 +10,6 @@ from openedx.core.djangolib.js_utils import ( ...@@ -10,7 +10,6 @@ from openedx.core.djangolib.js_utils import (
%> %>
<%block name="pagetitle">${_("CCX Coach Dashboard")}</%block> <%block name="pagetitle">${_("CCX Coach Dashboard")}</%block>
<%block name="nav_skip">#ccx-coach-dashboard-content</%block>
<%block name="headextra"> <%block name="headextra">
<%static:css group='style-course-vendor'/> <%static:css group='style-course-vendor'/>
...@@ -23,66 +22,68 @@ from openedx.core.djangolib.js_utils import ( ...@@ -23,66 +22,68 @@ from openedx.core.djangolib.js_utils import (
<section class="container"> <section class="container">
<div class="instructor-dashboard-wrapper-2"> <div class="instructor-dashboard-wrapper-2">
<section class="instructor-dashboard-content-2" id="ccx-coach-dashboard-content"> <main id="main" aria-label="Content" tabindex="-1">
<h1>${_("CCX Coach Dashboard")}</h1> <section class="instructor-dashboard-content-2" id="ccx-coach-dashboard-content">
<h1>${_("CCX Coach Dashboard")}</h1>
%if not ccx: %if not ccx:
% if messages: % if messages:
<ul class="messages"> <ul class="messages">
% for message in messages: % for message in messages:
% if message.tags: % if message.tags:
<li class="${message.tags}">${message}</li> <li class="${message.tags}">${message}</li>
% else: % else:
<li>${message}</li> <li>${message}</li>
% endif % endif
% endfor % 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> </ul>
% endif <section id="membership" class="idash-section">
<section> <%include file="enrollment.html" args="" />
<p class="request-response-error" id="ccx-create-message"></p> </section>
<form action="${create_ccx_url}" class="ccx-form" method="POST" onsubmit="return validateForm(this)"> <section id="schedule" class="idash-section">
<input type="hidden" name="csrfmiddlewaretoken" value="${csrf_token}"/> <%include file="schedule.html" args="" />
<div class="field"> </section>
<label class="sr" for="ccx_name">${_('Name your CCX')}</label> <section id="student_admin" class="idash-section">
<input name="name" id="ccx_name" placeholder="${_('Name your CCX')}"/><br/> <%include file="student_admin.html" args="" />
</div> </section>
<div class="field"> <section id="grading_policy" class="idash-section">
<button id="create-ccx" type="submit">${_('Create a new Custom Course for edX')}</button> <%include file="grading_policy.html" args="" />
</div> </section>
</form> %endif
</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>
<section id="grading_policy" class="idash-section"> </main>
<%include file="grading_policy.html" args="" />
</section>
%endif
</section>
</div> </div>
</section> </section>
......
...@@ -28,48 +28,50 @@ ...@@ -28,48 +28,50 @@
<%block name="pagetitle">${_("Courses")}</%block> <%block name="pagetitle">${_("Courses")}</%block>
<section class="find-courses"> <main id="main" aria-label="Content" tabindex="-1">
<section class="courses-container"> <section class="find-courses">
% if course_discovery_enabled: <section class="courses-container">
<div id="discovery-form" role="search" aria-label="course" class="wrapper-search-context"> % if course_discovery_enabled:
<div id="discovery-message" class="search-status-label"></div> <div id="discovery-form" role="search" aria-label="course" class="wrapper-search-context">
<form class="wrapper-search-input"> <div id="discovery-message" class="search-status-label"></div>
<label for="discovery-input" class="sr">${_('Search for a course')}</label> <form class="wrapper-search-input">
<input id="discovery-input" class="discovery-input" placeholder="${_('Search for a course')}" type="text"/> <label for="discovery-input" class="sr">${_('Search for a course')}</label>
<button type="submit" class="button postfix discovery-submit" aria-label="${_('Search')}"> <input id="discovery-input" class="discovery-input" placeholder="${_('Search for a course')}" type="text"/>
<i class="icon fa fa-search" aria-hidden="true"></i> <button type="submit" class="button postfix discovery-submit" aria-label="${_('Search')}">
<div aria-live="polite" aria-relevant="all"> <i class="icon fa fa-search" aria-hidden="true"></i>
<div id="loading-indicator" class="loading-spinner hidden"> <div aria-live="polite" aria-relevant="all">
<i class="icon fa fa-spinner fa-spin"></i> <div id="loading-indicator" class="loading-spinner hidden">
<span class="sr">${_('Loading')}</span> <i class="icon fa fa-spinner fa-spin"></i>
</div> <span class="sr">${_('Loading')}</span>
</div> </div>
</button> </div>
</form> </button>
</div> </form>
</div>
<div id="filter-bar" class="filters hide-phone is-collapsed"> <div id="filter-bar" class="filters hide-phone is-collapsed">
</div> </div>
% endif % endif
<div class="courses${'' if course_discovery_enabled else ' no-course-discovery'}" role="region" aria-label="${_('List of Courses')}"> <div class="courses${'' if course_discovery_enabled else ' no-course-discovery'}" role="region" aria-label="${_('List of Courses')}">
<ul class="courses-listing"> <ul class="courses-listing">
%for course in courses: %for course in courses:
<li class="courses-listing-item"> <li class="courses-listing-item">
<%include file="../course.html" args="course=course" /> <%include file="../course.html" args="course=course" />
</li> </li>
%endfor %endfor
</ul> </ul>
</div> </div>
% if course_discovery_enabled: % if course_discovery_enabled:
<aside aria-label="${_('Refine Your Search')}" class="search-facets phone-menu"> <aside aria-label="${_('Refine Your Search')}" class="search-facets phone-menu">
<h2 class="header-search-facets">${_('Refine Your Search')}</h2> <h2 class="header-search-facets">${_('Refine Your Search')}</h2>
<section class="search-facets-lists"> <section class="search-facets-lists">
</section> </section>
</aside> </aside>
% endif % endif
</section> </section>
</section> </section>
</main>
...@@ -37,8 +37,6 @@ ${static.get_page_title_breadcrumbs(course_name())} ...@@ -37,8 +37,6 @@ ${static.get_page_title_breadcrumbs(course_name())}
<%static:css group='style-student-notes'/> <%static:css group='style-student-notes'/>
% endif % endif
<%block name="nav_skip">${"#content" if section_title else "#content"}</%block>
<%include file="../discussion/_js_head_dependencies.html" /> <%include file="../discussion/_js_head_dependencies.html" />
${fragment.head_html()} ${fragment.head_html()}
</%block> </%block>
......
...@@ -57,8 +57,6 @@ ${static.get_page_title_breadcrumbs(course_name())} ...@@ -57,8 +57,6 @@ ${static.get_page_title_breadcrumbs(course_name())}
<%static:css group='style-student-notes'/> <%static:css group='style-student-notes'/>
% endif % endif
<%block name="nav_skip">${"#content" if section_title else "#content"}</%block>
<%include file="../discussion/_js_head_dependencies.html" /> <%include file="../discussion/_js_head_dependencies.html" />
${fragment.head_html()} ${fragment.head_html()}
</%block> </%block>
...@@ -170,7 +168,8 @@ ${fragment.foot_html()} ...@@ -170,7 +168,8 @@ ${fragment.foot_html()}
</div> </div>
% endif % 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 \ % if getattr(course, 'entrance_exam_enabled') and \
getattr(course, 'entrance_exam_minimum_score_pct') and \ getattr(course, 'entrance_exam_minimum_score_pct') and \
entrance_exam_current_score is not UNDEFINED: entrance_exam_current_score is not UNDEFINED:
...@@ -199,9 +198,10 @@ ${fragment.foot_html()} ...@@ -199,9 +198,10 @@ ${fragment.foot_html()}
)} )}
</p> </p>
% endif % endif
% endif % endif
${fragment.body_html()} ${fragment.body_html()}
</main>
</section> </section>
<section class="courseware-results-wrapper"> <section class="courseware-results-wrapper">
......
...@@ -52,57 +52,60 @@ from openedx.core.djangolib.markup import Text, HTML ...@@ -52,57 +52,60 @@ from openedx.core.djangolib.markup import Text, HTML
</%block> </%block>
<%block name="bodyclass">view-in-course view-course-info ${course.css_class or ''}</%block> <%block name="bodyclass">view-in-course view-course-info ${course.css_class or ''}</%block>
<section class="container">
<div class="home"> <main id="main" aria-label="Content" tabindex="-1">
<div class="page-header-main"> <section class="container">
<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> <div class="home">
<h2 class="page-subtitle">${course.display_name_with_default}</h2> <div class="page-header-main">
</div> <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>
% if last_accessed_courseware_url: <h2 class="page-subtitle">${course.display_name_with_default}</h2>
<div class="page-header-secondary"> </div>
<a href="${last_accessed_courseware_url}" class="last-accessed-link">${_("Resume Course")}</a> % if last_accessed_courseware_url:
</div> <div class="page-header-secondary">
% endif <a href="${last_accessed_courseware_url}" class="last-accessed-link">${_("Resume Course")}</a>
</div> </div>
<div class="info-wrapper"> % endif
% 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> </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> <h1>${_("Course Updates and News")}</h1>
${HTML(get_course_info_section(request, masquerade_user, course, 'updates'))} ${HTML(get_course_info_section(request, masquerade_user, course, 'updates'))}
## CourseTalk widget ## CourseTalk widget
% if show_coursetalk_widget: % if show_coursetalk_widget:
<div class="coursetalk-write-reviews"> <div class="coursetalk-write-reviews">
<div id="ct-custom-read-review-widget" data-provider="${platform_key}" data-course="${course_review_key}"></div> <div id="ct-custom-read-review-widget" data-provider="${platform_key}" data-course="${course_review_key}"></div>
</div> </div>
% endif % endif
</section> </section>
<section aria-label="${_('Handout Navigation')}" class="handouts"> <section aria-label="${_('Handout Navigation')}" class="handouts">
% if SelfPacedConfiguration.current().enable_course_home_improvements: % if SelfPacedConfiguration.current().enable_course_home_improvements:
<h1 class="handouts-header">${_("Important Course Dates")}</h1> <h1 class="handouts-header">${_("Important Course Dates")}</h1>
${HTML(get_course_date_summary(course, user))} ${HTML(get_course_date_summary(course, user))}
% endif % endif
<h1 class="handouts-header">${_(course.info_sidebar_name)}</h1> <h1 class="handouts-header">${_(course.info_sidebar_name)}</h1>
${HTML(get_course_info_section(request, masquerade_user, course, 'handouts'))} ${HTML(get_course_info_section(request, masquerade_user, course, 'handouts'))}
</section> </section>
% else: % else:
<section class="updates"> <section class="updates">
<h1 class="handouts-header">${_("Course Updates and News")}</h1> <h1 class="handouts-header">${_("Course Updates and News")}</h1>
${HTML(get_course_info_section(request, masquerade_user, course, 'guest_updates'))} ${HTML(get_course_info_section(request, masquerade_user, course, 'guest_updates'))}
</section> </section>
<section aria-label="${_('Handout Navigation')}" class="handouts"> <section aria-label="${_('Handout Navigation')}" class="handouts">
<h1 class="handouts-header">${_("Course Handouts")}</h1> <h1 class="handouts-header">${_("Course Handouts")}</h1>
${HTML(get_course_info_section(request, masquerade_user, course, 'guest_handouts'))} ${HTML(get_course_info_section(request, masquerade_user, course, 'guest_handouts'))}
</section>
% endif
</div>
</section> </section>
% endif </main>
</div>
</section>
...@@ -18,7 +18,6 @@ from django.utils.http import urlquote_plus ...@@ -18,7 +18,6 @@ from django.utils.http import urlquote_plus
<%namespace name="progress_graph" file="/courseware/progress_graph.js"/> <%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="pagetitle">${_("{course_number} Progress").format(course_number=course.display_number_with_default) | h}</%block>
<%block name="nav_skip">#content</%block>
<%block name="js_extra"> <%block name="js_extra">
<script type="text/javascript" src="${static.url('js/vendor/flot/jquery.flot.js') | h}"></script> <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 ...@@ -37,188 +36,189 @@ from django.utils.http import urlquote_plus
<div class="container"> <div class="container">
<div class="profile-wrapper"> <div class="profile-wrapper">
<div class="course-info" id="course-info-progress" aria-label="${_('Course Progress')}"> <main id="main" aria-label="Content" tabindex="-1">
% if staff_access and studio_url is not None: <div class="course-info" id="course-info-progress" aria-label="${_('Course Progress')}">
<div class="wrap-instructor-info"> % if staff_access and studio_url is not None:
<a class="instructor-info-action studio-view" href="${studio_url | h}">${_("View Grading in studio")}</a> <div class="wrap-instructor-info">
</div> <a class="instructor-info-action studio-view" href="${studio_url | h}">${_("View Grading in studio")}</a>
% endif </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 class="progress-certificates">
</header> <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"> %if show_generate_cert_btn:
<div id="errors-info" class="errors-info"></div> <div class="wrapper-msg wrapper-auto-cert">
%if passed: <div id="errors-info" class="errors-info"></div>
<div class="auto-cert-message" id="course-success"> %if passed:
<div class="has-actions"> <div class="auto-cert-message" id="course-success">
<% post_url = reverse('generate_user_cert', args=[unicode(course.id)]) %> <div class="has-actions">
% if is_downloadable: <% post_url = reverse('generate_user_cert', args=[unicode(course.id)]) %>
<div class="msg-content"> % if is_downloadable:
<h2 class="title">${_("Your certificate is available")}</h2> <div class="msg-content">
<p class="copy"> <h2 class="title">${_("Your certificate is available")}</h2>
${_("You can keep working for a higher grade, or request your certificate now.")} <p class="copy">
</p> ${_("You can keep working for a higher grade, or request your certificate now.")}
</div> </p>
<div class="msg-actions"> </div>
%if show_cert_web_view and cert_web_view_url: <div class="msg-actions">
<a class="btn" href="${cert_web_view_url | h}" target="_blank" title="${_('View certificate in a new browser window or tab.')}"> %if show_cert_web_view and cert_web_view_url:
${_("View Certificate")} <a class="btn" href="${cert_web_view_url | h}" target="_blank" title="${_('View certificate in a new browser window or tab.')}">
</a> ${_("View Certificate")}
%elif download_url: </a>
<a class="btn" href="${download_url | h}" target="_blank" title="${_('PDF will open in a new browser window or tab.')}"> %elif download_url:
${_("Download Your Certificate")} <a class="btn" href="${download_url | h}" target="_blank" title="${_('PDF will open in a new browser window or tab.')}">
</a> ${_("Download Your Certificate")}
%endif </a>
</div> %endif
%elif is_generating: </div>
<div class="msg-content"> %elif is_generating:
## Translators: This message appears to users when the system is processessing course certificates, which can take a few hours. <div class="msg-content">
<h2 class="title">${_("We're working on it...")}</h2> ## Translators: This message appears to users when the system is processessing course certificates, which can take a few hours.
<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> <h2 class="title">${_("We're working on it...")}</h2>
</div> <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 class="msg-actions"></div> </div>
%else: <div class="msg-actions"></div>
<div class="msg-content"> %else:
<h2 class="title">${_("Congratulations, you qualified for a certificate!")}</h2> <div class="msg-content">
<p class="copy">${_("You can keep working for a higher grade, or request your certificate now.")}</p> <h2 class="title">${_("Congratulations, you qualified for a certificate!")}</h2>
</div> <p class="copy">${_("You can keep working for a higher grade, or request your certificate now.")}</p>
<div class="msg-actions"> </div>
<button class="btn generate_certs" data-endpoint="${post_url | h}" id="btn_generate_cert">${_('Request Certificate')}</button> <div class="msg-actions">
<button class="btn generate_certs" data-endpoint="${post_url | h}" id="btn_generate_cert">${_('Request Certificate')}</button>
</div>
%endif
</div> </div>
%endif </div>
%endif
</div> </div>
</div> %endif
%endif
</div> %if not course.disable_progress_graph:
%endif <div class="grade-detail-graph" id="grade-detail-graph" aria-hidden="true"></div>
%endif
%if not course.disable_progress_graph:
<div class="grade-detail-graph" id="grade-detail-graph" aria-hidden="true"></div> % if credit_course_requirements:
%endif <section class="credit-eligibility">
<div class="credit-eligibility-container">
% if credit_course_requirements: <div class="eligibility-heading">
<section class="credit-eligibility"> <h2>${_("Requirements for Course Credit")}</h2>
<div class="credit-eligibility-container"> </div>
<div class="eligibility-heading"> %if credit_course_requirements['eligibility_status'] == 'not_eligible':
<h2>${_("Requirements for Course Credit")}</h2> <span class="eligibility_msg">${_("{student_name}, you are no longer eligible for credit in this course.").format(student_name=student.profile.name) | h}</span>
</div> %elif credit_course_requirements['eligibility_status'] == 'eligible':
%if credit_course_requirements['eligibility_status'] == 'not_eligible': <span class="eligibility_msg">${_("{student_name}, you have met the requirements for credit in this course.").format(student_name=student.profile.name) | h}
<span class="eligibility_msg">${_("{student_name}, you are no longer eligible for credit in this course.").format(student_name=student.profile.name) | h}</span> ${_("{a_start}Go to your dashboard{a_end} to purchase course credit.").format(
%elif credit_course_requirements['eligibility_status'] == 'eligible': a_start=u"<a href={url}>".format(url=reverse('dashboard')),
<span class="eligibility_msg">${_("{student_name}, you have met the requirements for credit in this course.").format(student_name=student.profile.name) | h} a_end="</a>"
${_("{a_start}Go to your dashboard{a_end} to purchase course credit.").format( )}
a_start=u"<a href={url}>".format(url=reverse('dashboard')), </span>
a_end="</a>" %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>
</span> %endif
%elif credit_course_requirements['eligibility_status'] == 'partial_eligible': <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>
<span>${_("{student_name}, you have not yet met the requirements for credit.").format(student_name=student.profile.name) | h}</span> <div class="requirement-container" data-eligible="${credit_course_requirements['eligibility_status'] | h}">
%endif %for requirement in credit_course_requirements['requirements']:
<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">
<div class="requirement-container" data-eligible="${credit_course_requirements['eligibility_status'] | h}"> <div class="requirement-name">
%for requirement in credit_course_requirements['requirements']: ${_(requirement['display_name']) | h}
<div class="requirement"> %if requirement['namespace'] == 'grade':
<div class="requirement-name"> <span>${int(requirement['criteria']['min_grade'] * 100) | h}%</span>
${_(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 %endif
%else: </div>
<span class="not-achieve">${_("Upcoming")}</span> <div class="requirement-status">
%endif %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>
</div> %endfor
%endfor </div>
</div> <button class="detail-collapse" aria-live="polite"><i class="fa fa-caret-up" aria-hidden="true"></i>
<button class="detail-collapse" aria-live="polite"><i class="fa fa-caret-up" aria-hidden="true"></i> <span class="requirement-detail">${_("Less")}</span>
<span class="requirement-detail">${_("Less")}</span> </button>
</button> </div>
</div> </section>
</section> %endif
%endif
<div class="chapters">
<div class="chapters"> %for chapter in courseware_summary:
%for chapter in courseware_summary: %if not chapter['display_name'] == "hidden":
%if not chapter['display_name'] == "hidden": <section>
<section> <h2>${ chapter['display_name'] | h}</h2>
<h2>${ chapter['display_name'] | h}</h2>
<div class="sections">
<div class="sections"> %for section in chapter['sections']:
%for section in chapter['sections']: <div>
<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:
<% <%
formatted_string = get_time_display(section['due'], course.due_date_display_format, coerce_tz=settings.TIME_ZONE_DISPLAYED_FOR_DEADLINES) earned = section['section_total'].earned
due_date = '' if len(formatted_string)==0 else _(u'due {date}').format(date=formatted_string) 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 %endfor
</div> <!--End sections--> </div> <!--End chapters-->
</section> <!--End chapter-->
%endif
%endfor
</div> <!--End chapters-->
</div> </div>
</main>
</div> </div>
</div> </div>
...@@ -16,8 +16,10 @@ ...@@ -16,8 +16,10 @@
<%include file="/courseware/course_navigation.html" args="active_page='static_tab_{0}'.format(tab['url_slug'])" /> <%include file="/courseware/course_navigation.html" args="active_page='static_tab_{0}'.format(tab['url_slug'])" />
<section class="container"> <main id="main" aria-label="Content" tabindex="-1">
<div class="static_tab_wrapper"> <section class="container">
${tab_contents} <div class="static_tab_wrapper">
</div> ${tab_contents}
</section> </div>
</section>
</main>
...@@ -19,7 +19,6 @@ from openedx.core.djangolib.markup import Text, HTML ...@@ -19,7 +19,6 @@ from openedx.core.djangolib.markup import Text, HTML
<%block name="pagetitle">${_("Dashboard")}</%block> <%block name="pagetitle">${_("Dashboard")}</%block>
<%block name="bodyclass">view-dashboard is-authenticated</%block> <%block name="bodyclass">view-dashboard is-authenticated</%block>
<%block name="nav_skip">#my-courses</%block>
<%block name="header_extras"> <%block name="header_extras">
% for template_name in ["donation"]: % for template_name in ["donation"]:
...@@ -75,120 +74,122 @@ from openedx.core.djangolib.markup import Text, HTML ...@@ -75,120 +74,122 @@ from openedx.core.djangolib.markup import Text, HTML
%endif %endif
</div> </div>
<section class="container dashboard" id="dashboard-main"> <main id="main" aria-label="Content" tabindex="-1">
<section class="my-courses" id="my-courses" role="main" tabindex="-1"> <section class="container dashboard" id="dashboard-main">
<header class="wrapper-header-courses"> <section class="my-courses" id="my-courses">
<h2 class="header-courses">${_("My Courses")}</h2> <header class="wrapper-header-courses">
</header> <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: % if settings.FEATURES.get('COURSES_ARE_BROWSABLE'):
<ul class="listing-courses"> <a href="${marketing_link('COURSES')}">
<% share_settings = getattr(settings, 'SOCIAL_SHARING_SETTINGS', {}) %> ${_("Explore courses")}
% for dashboard_index, enrollment in enumerate(course_enrollments): </a>
<% 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('ENABLE_DASHBOARD_SEARCH'): %endif
<div id="dashboard-search-bar" class="search-bar dashboard-search-bar" role="search" aria-label="Dashboard"> </section>
<form> % endif
<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"> % if staff_access and len(errored_courses) > 0:
<header class="profile"> <div id="course-errors">
<h2 class="account-status-title sr">${_("Account Status Info")}: </h2> <h2>${_("Course-loading errors")}</h2>
</header>
<section class="user-info"> % for course_dir, errors in errored_courses.items():
<ul> <h3>${course_dir}</h3>
<ul>
% if len(order_history_list): % for (msg, err) in errors:
<li class="order-history"> <li>${msg}
<span class="title">${_("Order History")}</span> <ul><li><pre>${err}</pre></li></ul>
% for order_history_item in order_history_list: </li>
<span><a href="${order_history_item['receipt_url']}" target="_blank" class="edit-name">${order_history_item['order_date']}</a></span> % endfor
</ul>
% endfor % endfor
</li> </div>
% endif % endif
</section>
<%include file="${static.get_template_path('dashboard/_dashboard_status_verification.html')}" /> % if settings.FEATURES.get('ENABLE_DASHBOARD_SEARCH'):
<div id="dashboard-search-bar" class="search-bar dashboard-search-bar" role="search" aria-label="Dashboard">
</ul> <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>
</section> </main>
% 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 id="email-settings-modal" class="modal" aria-hidden="true"> <section id="email-settings-modal" class="modal" aria-hidden="true">
<div class="inner-wrapper" role="dialog" aria-labelledby="email-settings-title"> <div class="inner-wrapper" role="dialog" aria-labelledby="email-settings-title">
......
...@@ -8,7 +8,6 @@ from django.core.urlresolvers import reverse ...@@ -8,7 +8,6 @@ from django.core.urlresolvers import reverse
<%block name="bodyclass">discussion</%block> <%block name="bodyclass">discussion</%block>
<%block name="pagetitle">${_("Discussion - {course_number}").format(course_number=course.display_number_with_default) | h}</%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"> <%block name="headextra">
<%static:css group='style-course-vendor'/> <%static:css group='style-course-vendor'/>
...@@ -39,13 +38,14 @@ from django.core.urlresolvers import reverse ...@@ -39,13 +38,14 @@ from django.core.urlresolvers import reverse
data-sort-preference="${sort_preference | h}" data-sort-preference="${sort_preference | h}"
data-flag-moderator="${flag_moderator | h}" data-flag-moderator="${flag_moderator | h}"
data-user-cohort-id="${user_cohort | h}" data-user-cohort-id="${user_cohort | h}"
data-course-settings="${course_settings | h}" data-course-settings="${course_settings | h}">
tabindex="-1">
<div class="discussion-body"> <div class="discussion-body">
<div class="forum-nav" role="complementary" aria-label="${_("Discussion thread list")}"></div> <div class="forum-nav" role="complementary" aria-label="${_("Discussion thread list")}"></div>
<div class="discussion-column" role="main" aria-label="Discussion" id="discussion-column"> <div class="discussion-column" id="discussion-column">
<article class="new-post-article" style="display: none" tabindex="-1" aria-label="${_("New topic form")}"></article> <main id="main" aria-label="Content" tabindex="-1">
<div class="forum-content"></div> <article class="new-post-article" style="display: none" tabindex="-1" aria-label="${_("New topic form")}"></article>
<div class="forum-content"></div>
</main>
</div> </div>
</div> </div>
</section> </section>
......
...@@ -20,7 +20,7 @@ from openedx.core.djangolib.js_utils import dump_js_escaped_json, js_escaped_str ...@@ -20,7 +20,7 @@ from openedx.core.djangolib.js_utils import dump_js_escaped_json, js_escaped_str
<section class="container"> <section class="container">
<div class="wrapper-student-notes"> <div class="wrapper-student-notes">
<div class="student-notes"> <div class="student-notes">
<main id="main" aria-label="Content" tabindex="-1">
<div class="title-search-container"> <div class="title-search-container">
<div class="wrapper-title"> <div class="wrapper-title">
<h1 class="page-title"> <h1 class="page-title">
...@@ -93,7 +93,7 @@ from openedx.core.djangolib.js_utils import dump_js_escaped_json, js_escaped_str ...@@ -93,7 +93,7 @@ from openedx.core.djangolib.js_utils import dump_js_escaped_json, js_escaped_str
</section> </section>
% endif % endif
</section> </section>
</main>
</div> </div>
</div> </div>
</section> </section>
......
...@@ -5,48 +5,50 @@ from django.utils.translation import ugettext as _ ...@@ -5,48 +5,50 @@ from django.utils.translation import ugettext as _
from django.core.urlresolvers import reverse from django.core.urlresolvers import reverse
%> %>
<section class="home"> <main id="main" aria-label="Content" tabindex="-1">
<header> <section class="home">
<div class="outer-wrapper"> <header>
<div class="title"> <div class="outer-wrapper">
<div class="heading-group"> <div class="title">
% if homepage_overlay_html: <div class="heading-group">
${homepage_overlay_html} % if homepage_overlay_html:
% else: ${homepage_overlay_html}
## Translators: 'Open edX' is a brand, please keep this untranslated. See http://openedx.org for more information. % else:
<h1>${_("Welcome to Open edX!")}</h1> ## Translators: 'Open edX' is a brand, please keep this untranslated. See http://openedx.org for more information.
## Translators: 'Open edX' is a brand, please keep this untranslated. See http://openedx.org for more information. <h1>${_("Welcome to Open edX!")}</h1>
<p>${_("It works! This is the default homepage for this Open edX instance.")}</p> ## Translators: 'Open edX' is a brand, please keep this untranslated. See http://openedx.org for more information.
% endif <p>${_("It works! This is the default homepage for this Open edX instance.")}</p>
</div> % endif
% if settings.FEATURES.get('ENABLE_COURSE_DISCOVERY'): </div>
<div class="course-search"> % if settings.FEATURES.get('ENABLE_COURSE_DISCOVERY'):
<form method="get" action="/courses"> <div class="course-search">
<label><span class="sr">${_("Search for a course")}</span> <form method="get" action="/courses">
<input class="search-input" name="search_query" type="text" placeholder="${_("Search for a course")}"></input> <label><span class="sr">${_("Search for a course")}</span>
</label> <input class="search-input" name="search_query" type="text" placeholder="${_("Search for a course")}"></input>
<button class="search-button" type="submit"> </label>
<i class="icon fa fa-search" aria-hidden="true"></i><span class="sr">${_("Search")}</span> <button class="search-button" type="submit">
</button> <i class="icon fa fa-search" aria-hidden="true"></i><span class="sr">${_("Search")}</span>
</form> </button>
</div> </form>
% endif </div>
% endif
</div>
% if show_homepage_promo_video:
<a href="#video-modal" class="media" rel="leanModal">
<div class="hero">
<div class="play-intro"></div>
</div> </div>
</a>
% endif
</div>
</header> % if show_homepage_promo_video:
<%include file="${courses_list}" /> <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: % if show_homepage_promo_video:
<section id="video-modal" class="modal home-page-video-modal video-modal"> <section id="video-modal" class="modal home-page-video-modal video-modal">
......
...@@ -20,7 +20,6 @@ from django.core.urlresolvers import reverse ...@@ -20,7 +20,6 @@ from django.core.urlresolvers import reverse
## 6. And tests go in lms/djangoapps/instructor/tests/ ## 6. And tests go in lms/djangoapps/instructor/tests/
<%block name="pagetitle">${_("Instructor Dashboard")}</%block> <%block name="pagetitle">${_("Instructor Dashboard")}</%block>
<%block name="nav_skip">#content</%block>
<%block name="headextra"> <%block name="headextra">
<%static:css group='style-course-vendor'/> <%static:css group='style-course-vendor'/>
...@@ -86,41 +85,42 @@ from django.core.urlresolvers import reverse ...@@ -86,41 +85,42 @@ from django.core.urlresolvers import reverse
<section class="container"> <section class="container">
<div class="instructor-dashboard-wrapper-2"> <div class="instructor-dashboard-wrapper-2">
<section class="instructor-dashboard-content-2" id="instructor-dashboard-content"> <main id="main" aria-label="Content" tabindex="-1">
<div class="wrap-instructor-info studio-view"> <section class="instructor-dashboard-content-2" id="instructor-dashboard-content">
%if studio_url: <div class="wrap-instructor-info studio-view">
<a class="instructor-info-action" href="${studio_url}">${_("View Course in Studio")}</a> %if studio_url:
%endif <a class="instructor-info-action" href="${studio_url}">${_("View Course in Studio")}</a>
</div> %endif
</div>
<h1>${_("Instructor Dashboard")}</h1>
<h1>${_("Instructor Dashboard")}</h1>
%if analytics_dashboard_message:
<div class="wrapper-msg urgency-low is-shown"> %if analytics_dashboard_message:
<p>${analytics_dashboard_message}</p> <div class="wrapper-msg urgency-low is-shown">
</div> <p>${analytics_dashboard_message}</p>
%endif </div>
%endif
## links which are tied to idash-sections below.
## the links are activated and handled in instructor_dashboard.coffee ## links which are tied to idash-sections below.
## when the javascript loads, it clicks on the first section ## the links are activated and handled in instructor_dashboard.coffee
<ul class="instructor-nav"> ## when the javascript loads, it clicks on the first section
% for section_data in sections: <ul class="instructor-nav">
## This is necessary so we don't scrape 'section_display_name' as a string. % for section_data in sections:
<% dname = section_data['section_display_name'] %> ## This is necessary so we don't scrape 'section_display_name' as a string.
<li class="nav-item"><a href="" data-section="${ section_data['section_key'] }">${_(dname)}</a></li> <% dname = section_data['section_display_name'] %>
% endfor <li class="nav-item"><a href="" data-section="${ section_data['section_key'] }">${_(dname)}</a></li>
</ul> % 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 ## 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"> % for section_data in sections:
<%include file="${ section_data['section_key'] }.html" args="section_data=section_data" /> <section id="${ section_data['section_key'] }" class="idash-section">
</section> <%include file="${ section_data['section_key'] }.html" args="section_data=section_data" />
% endfor </section>
</section> % endfor
</section>
</main>
</div> </div>
</section> </section>
...@@ -20,8 +20,9 @@ ProgramListFactory({ ...@@ -20,8 +20,9 @@ ProgramListFactory({
</%block> </%block>
<%block name="pagetitle">${_("Programs")}</%block> <%block name="pagetitle">${_("Programs")}</%block>
<main id="main" aria-label="Content" tabindex="-1">
<div class="program-list-wrapper"> <div class="program-list-wrapper">
<div class="program-cards-container"></div> <div class="program-cards-container"></div>
<div class="sidebar"></div> <div class="sidebar"></div>
</div> </div>
</main>
...@@ -120,13 +120,13 @@ from pipeline_mako import render_require_js_path_overrides ...@@ -120,13 +120,13 @@ from pipeline_mako import render_require_js_path_overrides
% if not disable_window_wrap: % if not disable_window_wrap:
<div class="window-wrap" dir="${static.dir_rtl()}"> <div class="window-wrap" dir="${static.dir_rtl()}">
% endif % 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: % if not disable_header:
<%include file="${static.get_template_path('header.html')}" /> <%include file="${static.get_template_path('header.html')}" />
% endif % endif
<div role="main" class="content-wrapper" id="content" tabindex="-1"> <div class="content-wrapper" id="content">
${self.body()} ${self.body()}
<%block name="bodyextra"/> <%block name="bodyextra"/>
</div> </div>
......
...@@ -24,11 +24,11 @@ ...@@ -24,11 +24,11 @@
<body class="{% block bodyclass %}{% endblock %} lang_{{LANGUAGE_CODE}}"> <body class="{% block bodyclass %}{% endblock %} lang_{{LANGUAGE_CODE}}">
<div class="window-wrap" dir="${static.dir_rtl()}"> <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 %} {% with course=request.course %}
{% include "header.html"|microsite_template_path %} {% include "header.html"|microsite_template_path %}
{% endwith %} {% endwith %}
<div role="main" class="content-wrapper" id="content" tabindex="-1"> <div class="content-wrapper" id="content">
{% block body %}{% endblock %} {% block body %}{% endblock %}
{% block bodyextra %}{% endblock %} {% block bodyextra %}{% endblock %}
</div> </div>
......
...@@ -8,11 +8,13 @@ from openedx.core.djangolib.markup import Text, HTML ...@@ -8,11 +8,13 @@ from openedx.core.djangolib.markup import Text, HTML
<%block name="pagetitle">${_("Page Not Found")}</%block> <%block name="pagetitle">${_("Page Not Found")}</%block>
<section class="outside-app"> <main id="main" aria-label="Content" tabindex="-1">
<h1>${_("Page not found")}</h1> <section class="outside-app">
<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( <h1>${_("Page not found")}</h1>
link_start=HTML('<a href="/">'), <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_end=HTML('</a>'), link_start=HTML('<a href="/">'),
email=HTML('<a href="mailto:{email}">{email}</a>').format(email=Text(static.get_tech_support_email_address())) link_end=HTML('</a>'),
)}</p> email=HTML('<a href="mailto:{email}">{email}</a>').format(email=Text(static.get_tech_support_email_address()))
</section> )}</p>
</section>
</main>
...@@ -4,7 +4,9 @@ ...@@ -4,7 +4,9 @@
<%block name="pagetitle">${_("About")}</%block> <%block name="pagetitle">${_("About")}</%block>
<section class="container about"> <main id="main" aria-label="Content" tabindex="-1">
<h1>${_("About")}</h1> <section class="container about">
<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> <h1>${_("About")}</h1>
</section> <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>
...@@ -4,7 +4,9 @@ ...@@ -4,7 +4,9 @@
<%block name="pagetitle">${_("Blog")}</%block> <%block name="pagetitle">${_("Blog")}</%block>
<section class="container about"> <main id="main" aria-label="Content" tabindex="-1">
<h1>${_("Blog")}</h1> <section class="container about">
<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> <h1>${_("Blog")}</h1>
</section> <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>
...@@ -4,7 +4,9 @@ ...@@ -4,7 +4,9 @@
<%block name="pagetitle">${_("Contact")}</%block> <%block name="pagetitle">${_("Contact")}</%block>
<section class="container about"> <main id="main" aria-label="Content" tabindex="-1">
<h1>${_("Contact")}</h1> <section class="container about">
<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> <h1>${_("Contact")}</h1>
</section> <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>
...@@ -4,7 +4,9 @@ ...@@ -4,7 +4,9 @@
<%block name="pagetitle">${_("Donate")}</%block> <%block name="pagetitle">${_("Donate")}</%block>
<section class="container about"> <main id="main" aria-label="Content" tabindex="-1">
<h1>${_("Donate")}</h1> <section class="container about">
<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> <h1>${_("Donate")}</h1>
</section> <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>
...@@ -7,14 +7,16 @@ from openedx.core.djangolib.markup import Text, HTML ...@@ -7,14 +7,16 @@ from openedx.core.djangolib.markup import Text, HTML
<%block name="pagetitle">${_("This Course Unavailable In Your Country")}</%block> <%block name="pagetitle">${_("This Course Unavailable In Your Country")}</%block>
<section class="outside-app"> <main id="main" aria-label="Content" tabindex="-1">
<p> <section class="outside-app">
${Text(_("Our system indicates that you are trying to access this {platform_name} " <p>
"course from a country or region currently subject to U.S. economic and trade " ${Text(_("Our system indicates that you are trying to access this {platform_name} "
"sanctions. Unfortunately, at this time {platform_name} must comply with " "course from a country or region currently subject to U.S. economic and trade "
"export controls, and we cannot allow you to access this course." "sanctions. Unfortunately, at this time {platform_name} must comply with "
)).format( "export controls, and we cannot allow you to access this course."
platform_name=Text(settings.PLATFORM_NAME), )).format(
)} platform_name=Text(settings.PLATFORM_NAME),
</p> )}
</section> </p>
</section>
</main>
...@@ -4,7 +4,9 @@ ...@@ -4,7 +4,9 @@
<%block name="pagetitle">${_("FAQ")}</%block> <%block name="pagetitle">${_("FAQ")}</%block>
<section class="container about"> <main id="main" aria-label="Content" tabindex="-1">
<h1>${_("FAQ")}</h1> <section class="container about">
<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> <h1>${_("FAQ")}</h1>
</section> <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>
...@@ -4,7 +4,9 @@ ...@@ -4,7 +4,9 @@
<%block name="pagetitle">${_("Help")}</%block> <%block name="pagetitle">${_("Help")}</%block>
<section class="container about"> <main id="main" aria-label="Content" tabindex="-1">
<h1>${_("Help")}</h1> <section class="container about">
<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> <h1>${_("Help")}</h1>
</section> <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>
...@@ -4,7 +4,9 @@ ...@@ -4,7 +4,9 @@
<%block name="pagetitle">${_("Honor Code")}</%block> <%block name="pagetitle">${_("Honor Code")}</%block>
<section class="container about"> <main id="main" aria-label="Content" tabindex="-1">
<h1>${_("Honor Code")}</h1> <section class="container about">
<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> <h1>${_("Honor Code")}</h1>
</section> <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>
...@@ -4,7 +4,9 @@ ...@@ -4,7 +4,9 @@
<%block name="pagetitle">${_("Jobs")}</%block> <%block name="pagetitle">${_("Jobs")}</%block>
<section class="container about"> <main id="main" aria-label="Content" tabindex="-1">
<h1>${_("Jobs")}</h1> <section class="container about">
<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> <h1>${_("Jobs")}</h1>
</section> <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>
...@@ -4,7 +4,9 @@ ...@@ -4,7 +4,9 @@
<%block name="pagetitle">${_("Media Kit")}</%block> <%block name="pagetitle">${_("Media Kit")}</%block>
<section class="container about"> <main id="main" aria-label="Cntent" tabindex="-1">
<h1>${_("Media Kit")}</h1> <section class="container about">
<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> <h1>${_("Media Kit")}</h1>
</section> <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>
...@@ -5,7 +5,9 @@ ...@@ -5,7 +5,9 @@
<%block name="pagetitle">${_("In the Press")}</%block> <%block name="pagetitle">${_("In the Press")}</%block>
<section class="container about"> <main id="main" aria-label="Content" tabindex="-1">
<h1>${_("In the Press")}</h1> <section class="container about">
<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> <h1>${_("In the Press")}</h1>
</section> <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>
...@@ -5,7 +5,9 @@ ...@@ -5,7 +5,9 @@
<%block name="pagetitle">${_("In the Press")}</%block> <%block name="pagetitle">${_("In the Press")}</%block>
<section class="container about"> <main id="main" aria-label="Content" tabindex="-1">
<h1>${_("In the Press")}</h1> <section class="container about">
<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> <h1>${_("In the Press")}</h1>
</section> <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>
...@@ -5,7 +5,9 @@ ...@@ -5,7 +5,9 @@
<%block name="pagetitle">${_("Privacy Policy")}</%block> <%block name="pagetitle">${_("Privacy Policy")}</%block>
<section class="container about"> <main id="main" aria-label="Content" tabindex="-1">
<h1>${_("Privacy Policy")}</h1> <section class="container about">
<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> <h1>${_("Privacy Policy")}</h1>
</section> <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>
<%page expression_filter="h"/> <%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 from openedx.core.djangolib.markup import Text, HTML
%> %>
<%inherit file="../main.html" /> <%inherit file="../main.html" />
<section class="outside-app"> <main id="main" aria-label="Content" tabindex="-1">
<h1> <section class="outside-app">
${Text(_("Currently the {platform_name} servers are down")).format( <h1>
platform_name=HTML(u"<em>{}</em>").format(Text(settings.PLATFORM_NAME)) ${Text(_("Currently the {platform_name} servers are down")).format(
)} platform_name=HTML(u"<em>{}</em>").format(Text(settings.PLATFORM_NAME))
</h1> )}
<p> </h1>
${Text(_("Our staff is currently working to get the site back up as soon as possible. " <p>
"Please email us at {tech_support_email} to report any problems or downtime.")).format( ${Text(_("Our staff is currently working to get the site back up as soon as possible. "
tech_support_email=HTML('<a href="mailto:{0}">{0}</a>').format(Text(settings.TECH_SUPPORT_EMAIL)) "Please email us at {tech_support_email} to report any problems or downtime.")).format(
)}</p> tech_support_email=HTML('<a href="mailto:{0}">{0}</a>').format(Text(settings.TECH_SUPPORT_EMAIL))
</section> )}</p>
</section>
</main>
...@@ -6,17 +6,19 @@ from openedx.core.djangolib.markup import Text, HTML ...@@ -6,17 +6,19 @@ from openedx.core.djangolib.markup import Text, HTML
%> %>
<%inherit file="../main.html" /> <%inherit file="../main.html" />
<section class="outside-app"> <main id="main" aria-label="Content" tabindex="-1">
<h1> <section class="outside-app">
${Text(_(u"There has been a 500 error on the {platform_name} servers")).format( <h1>
platform_name=HTML("<em>{platform_name}</em>").format(platform_name=Text(static.get_platform_name())) ${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> </h1>
${Text(_('Please wait a few seconds and then reload the page. If the problem persists, please email us at {email}.')).format( <p>
email=HTML('<a href="mailto:{email}">{email}</a>').format( ${Text(_('Please wait a few seconds and then reload the page. If the problem persists, please email us at {email}.')).format(
email=Text(static.get_tech_support_email_address()) email=HTML('<a href="mailto:{email}">{email}</a>').format(
) email=Text(static.get_tech_support_email_address())
)} )
</p> )}
</section> </p>
</section>
</main>
...@@ -5,16 +5,18 @@ from openedx.core.djangolib.markup import Text, HTML ...@@ -5,16 +5,18 @@ from openedx.core.djangolib.markup import Text, HTML
%> %>
<%inherit file="../main.html" /> <%inherit file="../main.html" />
<section class="outside-app"> <main id="main" aria-label="Content" tabindex="-1">
<h1> <section class="outside-app">
${Text(_("Currently the {platform_name} servers are overloaded")).format( <h1>
platform_name=HTML("<em>{}</em>").format(platform_name=Text(settings.PLATFORM_NAME)) ${Text(_("Currently the {platform_name} servers are overloaded")).format(
)} platform_name=HTML("<em>{}</em>").format(platform_name=Text(settings.PLATFORM_NAME))
</h1> )}
<p> </h1>
${Text(_("Our staff is currently working to get the site back up as soon as possible. " <p>
"Please email us at {tech_support_email} to report any problems or downtime.")).format( ${Text(_("Our staff is currently working to get the site back up as soon as possible. "
tech_support_email=HTML('<a href="mailto:{0}">{0}</a>').format(tech_support_email=Text(settings.TECH_SUPPORT_EMAIL)) "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> </p>
</section>
</main>
...@@ -4,7 +4,9 @@ ...@@ -4,7 +4,9 @@
<%block name="pagetitle">${_("Terms of Service")}</%block> <%block name="pagetitle">${_("Terms of Service")}</%block>
<section class="container about"> <main id="main" aria-label="Content" tabindex="-1">
<h1>${_("Terms of Service")}</h1> <section class="container about">
<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> <h1>${_("Terms of Service")}</h1>
</section> <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>
...@@ -16,7 +16,6 @@ from openedx.core.djangolib.js_utils import dump_js_escaped_json, js_escaped_str ...@@ -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'/> <%namespace name='static' file='/static_content.html'/>
<%block name="pagetitle">${_("Account Settings")}</%block> <%block name="pagetitle">${_("Account Settings")}</%block>
<%block name="nav_skip">#content</%block>
% if duplicate_provider: % if duplicate_provider:
<section> <section>
...@@ -37,7 +36,7 @@ from openedx.core.djangolib.js_utils import dump_js_escaped_json, js_escaped_str ...@@ -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 }'; var platformName = '${ static.get_platform_name() | n, js_escaped_string }';
AccountSettingsFactory( AccountSettingsFactory(
fieldsData, fieldsData,
authData, authData,
'${ user_accounts_api_url | n, js_escaped_string }', '${ user_accounts_api_url | n, js_escaped_string }',
'${ user_preferences_api_url | n, js_escaped_string }', '${ user_preferences_api_url | n, js_escaped_string }',
......
<main id="main" aria-label="Content" tabindex="-1">
<div class="account-settings-container"> <div class="account-settings-container">
<div class="wrapper-header"> <div class="wrapper-header">
<h2 class="header-title"><%- gettext("Account Settings") %></h2> <h2 class="header-title"><%- gettext("Account Settings") %></h2>
...@@ -22,3 +23,4 @@ ...@@ -22,3 +23,4 @@
<% }); %> <% }); %>
</div> </div>
</div> </div>
</main>
...@@ -33,5 +33,7 @@ ...@@ -33,5 +33,7 @@
</%block> </%block>
<div class="section-bkg-wrapper"> <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> </div>
...@@ -9,16 +9,17 @@ from openedx.core.djangolib.js_utils import dump_js_escaped_json ...@@ -9,16 +9,17 @@ from openedx.core.djangolib.js_utils import dump_js_escaped_json
%> %>
<%block name="pagetitle">${_("Learner Profile")}</%block> <%block name="pagetitle">${_("Learner Profile")}</%block>
<%block name="nav_skip">#content</%block>
<%block name="bodyclass">view-profile</%block> <%block name="bodyclass">view-profile</%block>
<div class="message-banner" aria-live="polite"></div> <div class="message-banner" aria-live="polite"></div>
<div class="wrapper-profile"> <main id="main" aria-label="Content" tabindex="-1">
<div class="ui-loading-indicator"> <div class="wrapper-profile">
<p><span class="spin"><i class="icon fa fa-refresh" aria-hidden="true"></i></span> <span class="copy">${_("Loading")}</span></p> <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>
</div> </main>
<%block name="headextra"> <%block name="headextra">
<%static:css group='style-course'/> <%static:css group='style-course'/>
</%block> </%block>
......
...@@ -7,22 +7,23 @@ ...@@ -7,22 +7,23 @@
{% block wiki_breadcrumbs %} {% block wiki_breadcrumbs %}
{% include "wiki/includes/breadcrumbs.html" %} {% include "wiki/includes/breadcrumbs.html" %}
{% endblock %} {% endblock %}
{% block nav_skip %}#main-article{% endblock %}
{% block wiki_contents %} {% block wiki_contents %}
<div class="article-wrapper"> <div class="article-wrapper">
<article class="main-article" id="main-article" tabindex="-1"> <main id="main" aria-label="Content" tabindex="-1">
{% if selected_tab != "edit" %} <article class="main-article" id="main-article">
<h1>{{ article.current_revision.title }}</h1> {% if selected_tab != "edit" %}
<h1>{{ article.current_revision.title }}</h1>
{% endif %} {% endif %}
{% block wiki_contents_tab %} {% block wiki_contents_tab %}
{% wiki_render article %} {% wiki_render article %}
{% endblock %} {% endblock %}
</article> </article>
</main>
<div class="article-functions"> <div class="article-functions">
<ul class="nav nav-tabs"> <ul class="nav nav-tabs">
......
...@@ -47,8 +47,6 @@ ...@@ -47,8 +47,6 @@
{% endblock %} {% endblock %}
{% block nav_skip %}#wiki-content{% endblock %}
{% block body %} {% block body %}
{% if request.course %} {% if request.course %}
{% with course=request.course %} {% with course=request.course %}
...@@ -56,6 +54,7 @@ ...@@ -56,6 +54,7 @@
{% endwith %} {% endwith %}
{% endif %} {% endif %}
<main id="main" aria-label="Content" tabindex="-1">
<section class="container wiki {{ selected_tab }}" id="wiki-content"> <section class="container wiki {{ selected_tab }}" id="wiki-content">
<div class="wiki-wrapper"> <div class="wiki-wrapper">
{% block wiki_body %} {% block wiki_body %}
...@@ -77,5 +76,6 @@ ...@@ -77,5 +76,6 @@
</div> </div>
</section> </section>
</main>
{% endblock %} {% endblock %}
...@@ -20,7 +20,6 @@ from openedx.core.djangolib.js_utils import dump_js_escaped_json, js_escaped_str ...@@ -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="pagetitle">${_("Dashboard")}</%block>
<%block name="bodyclass">view-dashboard is-authenticated</%block> <%block name="bodyclass">view-dashboard is-authenticated</%block>
<%block name="nav_skip">#my-courses</%block>
<%block name="header_extras"> <%block name="header_extras">
% for template_name in ["donation"]: % for template_name in ["donation"]:
...@@ -77,7 +76,8 @@ from openedx.core.djangolib.js_utils import dump_js_escaped_json, js_escaped_str ...@@ -77,7 +76,8 @@ from openedx.core.djangolib.js_utils import dump_js_escaped_json, js_escaped_str
</div> </div>
<section class="container dashboard" id="dashboard-main"> <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"> <header class="wrapper-header-courses">
<h2 class="header-courses">${_("My Courses")}</h2> <h2 class="header-courses">${_("My Courses")}</h2>
</header> </header>
...@@ -132,6 +132,7 @@ from openedx.core.djangolib.js_utils import dump_js_escaped_json, js_escaped_str ...@@ -132,6 +132,7 @@ from openedx.core.djangolib.js_utils import dump_js_escaped_json, js_escaped_str
</div> </div>
% endif % endif
</section> </section>
</main>
% if settings.FEATURES.get('ENABLE_DASHBOARD_SEARCH'): % if settings.FEATURES.get('ENABLE_DASHBOARD_SEARCH'):
<div id="dashboard-search-bar" class="search-bar dashboard-search-bar" role="search" aria-label="Dashboard"> <div id="dashboard-search-bar" class="search-bar dashboard-search-bar" role="search" aria-label="Dashboard">
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment