jupyterhub / outreachy

Tasks, management and documentation for Outreachy Internships in JupyterHub
https://jupyterhub-outreachy.readthedocs.io
BSD 3-Clause "New" or "Revised" License
33 stars 25 forks source link

Accessibility: #81

Closed Abolade017 closed 2 years ago

Abolade017 commented 2 years ago

What page is this for?

https://github.com/jupyterhub/outreachy/issues/38#issuecomment-1276474093

WAVE accessibility report

I have evaluated the web accessibility of https://jupyter.org/governance/list_of_subprojects.html page. The evaluation done stated the following issues and how to fix those issues are below:

subproject

Evaluation

  1. 9 Errors

    • Empty form label (5) : A form label is present and associated with an existing form control (using for/id or surrounds the form control), but does not contain any text or images with alternative text. This issue can be fixed by ensuring that the form label contains text that describes the function of the associated form control. Labels are not required for image, submit, reset, button, or hidden form controls. If a label is not necessary visually, a descriptive title attribute may be added to the form control.
    • Multiple form labels (2) : Two or more <label>s are associated to a single <input> (except types of image, submit, reset, button, or hidden), <select>, or <textarea>. This issue can be fixed by ensuring that at most one label element is associated to the form control. If multiple form labels are necessary, use aria-labelledby.
    • Language missing or invalid (1) : The <html lang> attribute is missing or is empty, or a lang attribute value is not a valid language identifier. This issue can be fixed by identifying the document language using the <html lang> attribute with a valid value (e.g., <html lang="en">). Ensure that all lang attribute values are valid.
    • Empty button (1) : A
  2. 3 Features

    • Linked image with alternative text (1) : An image element has non-empty alternative text, is within a link, and no other text (or images with alternative text) is present within the link. This issue can be fixed by ensuring that the alternative text presents the content of the image and/or the function of the link. If the full content and function of the link is presented in text within the link (an image and a text caption both within the same link, for example), then the image should generally be given empty/null alternative text (alt="") to avoid redundancy.
    • Form label (2) : A <label> element is present and properly associated to <input> (except types of image, submit, reset, button, or hidden), <textarea>, or <select> element. This issue can be fixed by ensuring that the label is accurate, descriptive, succinct, and that it is associated with the correct form control element.
  3. 37 Structural elements

    • Heading level (7) : There are three <h1>, and four <h2> elements present .This issue can be fixed by ensuring that the text in question is truly a heading and that it is structured correctly in the page outline.
    • Unordered list (24) : The <ul> element is present. This issue can be fixed by ensuring that an unordered (bulleted) list is appropriate for the context. If list items are sequential or numbered, an ordered list (<ol>) is likely more appropriate.
    • Navigation (3) : A <nav> element or role="navigation" is present. This issue can be fixed by ensuring the element defines page navigation. Multiple navigation elements on one page can be differentiated with ARIA labels.
    • Main content (1) : A <main> element or role="main" is present. This issue can be fixed by ensuring the element surrounds and defines page main content.
    • Footer (2) : A <footer> element or role="contentinfo" is present. This issue can be fixed by ensuring the element surrounds and defines page or page section footer content.
  4. 12 ARIA

    • ARIA (5) : An ARIA role, state, or property is present, excluding landmark roles, aria-labelledby, or aria-describedby which are distinct WAVE items. This issue can be fixed by ensuring the ARIA role, state, or property is used correctly. Use standard HTML accessibility features when possible. Be aware that support for ARIA is limited in older browsers and assistive technologies.
    • ARIA label (7) : An aria-label or aria-labelledby attribute is present. This issue can be fixed by ensuring the aria-label value or element referenced by aria-labelledby provides a descriptive, accurate label. When possible, use standard HTML <label> or other markup to make the association.

The HTML element to be changed

1. The 'title attribute' of <button onclick="toggleFullScreen()" class="headerbtn" data-toggle="tooltip" data-placement="bottom" title="" data-original-title="Fullscreen mode">
<span class="headerbtn__icon-container">
  <i class="fas fa-expand"></i>
  </span>
</button> is empty that means the button is not having an accessible name.
2. The <html style="--pulse-color: #fffc0230;"> is missing `lang='en'` attribute.
3. The landmark of the page is not correct.That is the structure did not contain <header> <main> and <footer> inside the <body>, therefore it is not structured appropriately.
4. The page is containing more than one <footer> element as follow:
<footer class="footer-article noprint">
<!-- Previous / next buttons-->
<div class="prev-next-area"><a class="left-prev" id="prev-link" href="software_subprojects.html" title="previous page"><i class="fas fa-angle-left"></i><div class="prev-next-info"><p class="prev-next-subtitle">
previous
</p><p class="prev-next-title">
Software Subprojects
</p></div></a><a class="right-next" id="next-link" href="newsubprojects.html" title="next page"><div class="prev-next-info"><p class="prev-next-subtitle">
next
</p><p class="prev-next-title">
New Subproject Process
</p></div><i class="fas fa-angle-right"></i></a></div></footer>
</div></div><div class="footer-content row">
Footer<footer class="col footer"><p>
By The Jupyter Book community
<br></p><div class="extra_footer"><p xmlns:dct="http://purl.org/dc/terms/" xmlns:vcard="http://www.w3.org/2001/vcard-rdf/3.0#"><a rel="license" href="http://creativecommons.org/publicdomain/zero/1.0/">
Linked image with alternative text<img src="https://licensebuttons.net/p/zero/1.0/88x31.png" style="border-style: none;" alt="CC0">
</a><br>
To the extent possible under law,
<a rel="dct:publisher" href="https://jupyter.org"><span property="dct:title">
Project Jupyter
</span></a>
has waived all copyright and related or neighboring rights to
<a href="https://github.com/jupyter/governance"><span property="dct:title">
Project Jupyter Governance documents
</span></a>
. This work is published from:
<span property="vcard:Country" datatype="dct:ISO3166" content="US" about="https://jupyter.org">
United States
</span>
.
</p></div><p></p></footer> and document should not have more than one footer.
5. The page is having links with the same accessible name and this is not approppriate except if they are serving the same purpose. The code is as follow:
<a class="reference external" href="https://github.com/jupyter-server/team-compass">Jupyter Server</a> and <a class="reference external" href="https://github.com/jupyter-server/jupyter_server">Jupyter Server</a>

Your proposed HTML (or CSS), after change

1. I will give the title attribute a value that is suitable to e.g 'expand' because the  icon is <i class="fas fa-expand"></i> in between the button tag or I added aria-label attribute value to the button. <button onclick="toggleFullScreen()" class="headerbtn" data-toggle="tooltip" data-placement="bottom" title="" data-original-title="Fullscreen mode" aria-label="expand">
<span class="headerbtn__icon-container">
  <i class="fas fa-expand"></i>
  </span>
</button>
2. I will add lang='en' attribute to <html style="--pulse-color: #fffc0230;">.
3. I will restructure the page into <Header>, <main> and <footer> appropriately.
4. I will reduce the footer to one and put the content in the second footer in the <section> element instead of using <footer> like this:
<footer class="footer-article noprint">
<!-- Previous / next buttons-->
<div class="prev-next-area"><a class="left-prev" id="prev-link" href="software_subprojects.html" title="previous page"><i class="fas fa-angle-left"></i><div class="prev-next-info"><p class="prev-next-subtitle">
previous
</p><p class="prev-next-title">
Software Subprojects
</p></div></a><a class="right-next" id="next-link" href="newsubprojects.html" title="next page"><div class="prev-next-info"><p class="prev-next-subtitle">
next
</p><p class="prev-next-title">
New Subproject Process
</p></div><i class="fas fa-angle-right"></i></a></div>
</div></div>
<div class="footer-content row">
Footer<section class="col footer"><p>
By The Jupyter Book community
<br></p><div class="extra_footer"><p xmlns:dct="http://purl.org/dc/terms/" xmlns:vcard="http://www.w3.org/2001/vcard-rdf/3.0#"><a rel="license" href="http://creativecommons.org/publicdomain/zero/1.0/">
Linked image with alternative text<img src="https://licensebuttons.net/p/zero/1.0/88x31.png" style="border-style: none;" alt="CC0">
</a><br>
To the extent possible under law,
<a rel="dct:publisher" href="https://jupyter.org"><span property="dct:title">
Project Jupyter
</span></a>
has waived all copyright and related or neighboring rights to
<a href="https://github.com/jupyter/governance"><span property="dct:title">
Project Jupyter Governance documents
</span></a>
. This work is published from:
<span property="vcard:Country" datatype="dct:ISO3166" content="US" about="https://jupyter.org">
United States
</span>
.
</p></div><p></p></section>
</footer> and i will also change the necessary styles.
5. I will change the one of the link accessible name of to 'Team Compass'
<a class="reference external" href="https://github.com/jupyter-server/team-compass">Team Compass</a> and leave <a class="reference external" href="https://github.com/jupyter-server/jupyter_server">Jupyter Server</a> the way it is.

More info

No response

minrk commented 2 years ago

Thanks for the suggestions! I see you've mostly described what you would do. I'd like to see the actual resulting before/after HTML, if that's possible.

Abolade017 commented 2 years ago

HTML before

  1. Empty button: This is the code to the empty button
    <button onclick="toggleFullScreen()" class="headerbtn" data-toggle="tooltip" data-placement="bottom" title="" data-original-title="Fullscreen mode"><span class="headerbtn__icon-container"><i class="fas fa-expand"></i></span></button>
  2. The <html style="--pulse-color: #fffc0230;"> of the document is missing lang attribute.
  3. The landmark of the page is not correct.That is the structure did not contain
    and
    inside the <body>, therefore it is not structured appropriately. The following is the structure of the page document immediately after the <body> element:
    <input type="checkbox" class="sidebar-toggle" name="__navigation" id="__navigation" aria-label="Toggle navigation sidebar">
    <label class="overlay overlay-navbar" for="__navigation"><div class="visually-hidden">
    Toggle navigation sidebar
    </div></label>
    <!-- Checkboxes to toggle the in-page toc-->
    <input type="checkbox" class="sidebar-toggle" name="__page-toc" id="__page-toc" aria-label="Toggle in-page Table of Contents">
    <label class="overlay overlay-pagetoc" for="__page-toc"><div class="visually-hidden">
    Toggle in-page Table of Contents
    </div></label>
    <div class="announcement header-item noprint"></div><div class="header header-item noprint"></div><div class="container-fluid" id="banner"></div><div class="container-xl"><div class="row">
    <!-- Sidebar-->
    <div class="bd-sidebar noprint" id="site-navigation"><div class="bd-sidebar__content"><div class="bd-sidebar__top"><div class="navbar-brand-box"><a class="navbar-brand text-wrap" href="index.html">
    <h1 class="site-logo" id="site-title">
    Project Jupyter Governance
    </h1>
    </a></div><form class="bd-search d-flex align-items-center" action="search.html" method="get"><i class="icon fas fa-search"></i>
    <input type="search" class="form-control" name="q" id="search-input" placeholder="Search this book..." aria-label="Search this book..." autocomplete="off">
    </form>
    <nav class="bd-links" id="bd-docs-nav" aria-label="Main"><div class="bd-toc-item active">
    <ul class="nav bd-sidenav bd-sidenav__home-link"><li class="toctree-l1"><a class="reference internal" href="intro.html">
    Project Jupyter Governance
    </a></li></ul>
    <p aria-level="2" class="caption" role="heading"><span class="caption-text">
    Code of Conduct
    </span></p>
    <ul class="nav bd-sidenav"><li class="toctree-l1 has-children"><a class="reference internal" href="conduct/code_of_conduct.html">
    Project Jupyter Code of Conduct
    </a><input class="toctree-checkbox" id="toctree-checkbox-1" name="toctree-checkbox-1" type="checkbox">
    <label for="toctree-checkbox-1"><i class="fas fa-chevron-down"></i></label>
    <ul><li class="toctree-l2"><a class="reference internal" href="conduct/enforcement.html">
    Enforcement Manual
    </a></li><li class="toctree-l2"><a class="reference internal" href="conduct/reporting_online.html">
    Reporting Guide - Online Community
    </a></li></ul>
    </li><li class="toctree-l1 has-children"><a class="reference internal" href="CodeofConductJupyterDay.html">
    JupyterDay Code of Conduct
    </a><input class="toctree-checkbox" id="toctree-checkbox-2" name="toctree-checkbox-2" type="checkbox">
    <label for="toctree-checkbox-2"><i class="fas fa-chevron-down"></i></label>
    <ul><li class="toctree-l2"><a class="reference internal" href="CodeofConductJupyterDayOrganizer.html">
    JupyterDay Organizer Code of Conduct
    </a></li><li class="toctree-l2"><a class="reference internal" href="conduct/reporting_events.html">
    Reporting Guide - Jupyter Events
    </a></li></ul>
    </li><li class="toctree-l1"><a class="reference internal" href="conduct/faq.html">
    Frequently Asked Questions
    </a></li></ul>
    <p aria-level="2" class="caption" role="heading"><span class="caption-text">
    Governance
    </span></p>
    <ul class="nav bd-sidenav"><li class="toctree-l1"><a class="reference internal" href="governance.html">
    Governance of Project Jupyter
    </a></li><li class="toctree-l1"><a class="reference internal" href="decision_making.html">
    Decision-Making Guide
    </a></li></ul>
    <p aria-level="2" class="caption" role="heading"><span class="caption-text">
    Organizational Structure
    </span></p>
    <ul class="current nav bd-sidenav"><li class="toctree-l1"><a class="reference internal" href="people.html">
    Steering Council and Institutional Partners
    </a></li><li class="toctree-l1"><a class="reference internal" href="communitybuildingcommittee.html">
    Community Building Committee
    </a></li><li class="toctree-l1 current active has-children"><a class="reference internal" href="software_subprojects.html">
    Software Subprojects
    </a><input checked="" class="toctree-checkbox" id="toctree-checkbox-3" name="toctree-checkbox-3" type="checkbox">
    <label for="toctree-checkbox-3"><i class="fas fa-chevron-down"></i></label>
    <ul class="current"><li class="toctree-l2 current active"><a class="current reference internal" href="#">
    List of Official Jupyter Subprojects
    </a></li><li class="toctree-l2"><a class="reference internal" href="newsubprojects.html">
    New Subproject Process
    </a></li></ul>
    </li><li class="toctree-l1"><a class="reference internal" href="distinguished_contributors.html">
    Distinguished Contributors
    </a></li></ul>
    <p aria-level="2" class="caption" role="heading"><span class="caption-text">
    Organizational Policy
    </span></p>
    <ul class="nav bd-sidenav"><li class="toctree-l1"><a class="reference internal" href="papers.html">
    Process for Authoring Jupyter Related Academic Papers
    </a></li><li class="toctree-l1"><a class="reference internal" href="trademarks.html">
    Trademark Usage Policy
    </a></li><li class="toctree-l1"><a class="reference internal" href="projectlicense.html">
    Licensing terms for Project Jupyter code
    </a></li></ul>
    <p aria-level="2" class="caption" role="heading"><span class="caption-text">
    Future Governance [work in progress]
    </span></p>
    <ul class="nav bd-sidenav"><li class="toctree-l1"><a class="reference internal" href="overview.html">
    Jupyter Governance Overview
    </a></li><li class="toctree-l1"><a class="reference internal" href="bootstrapping_decision_making.html">
    Bootstrapping Subproject Councils
    </a></li><li class="toctree-l1"><a class="reference internal" href="executive_council.html">
    Executive Council
    </a></li><li class="toctree-l1"><a class="reference internal" href="software_steering_council.html">
    Software Steering Council
    </a></li><li class="toctree-l1"><a class="reference internal" href="standing_committees_and_working_groups.html">
    Standing Committees and Working Groups
    </a></li><li class="toctree-l1"><a class="reference internal" href="list_of_standing_committees_and_working_groups.html">
    List of Standing Committees and Working Groups
    </a></li></ul>
    </div></nav>
    </div><div class="bd-sidebar__bottom">
    <!-- To handle the deprecated key-->
    <div class="navbar_extra_footer">
    Powered by
    <a href="https://jupyterbook.org">
    Jupyter Book
    </a></div></div></div><div id="rtd-footer-container"></div></div>
    <!-- A tiny helper pixel to detect if we've scrolled-->
    <div class="sbt-scroll-pixel-helper"></div>
    <!-- Main content-->
    <div class="col py-0 content-container"><div class="header-article row sticky-top noprint"><div class="col py-1 d-flex header-article-main"><div class="header-article__left">
    <label for="__navigation" class="headerbtn" data-toggle="tooltip" data-placement="right" title="" data-original-title="Toggle navigation"><span class="headerbtn__icon-container"><i class="fas fa-bars"></i></span></label>
    </div><div class="header-article__right">
    <button onclick="toggleFullScreen()" class="headerbtn" data-toggle="tooltip" data-placement="bottom" title="" data-original-title="Fullscreen mode"><span class="headerbtn__icon-container"><i class="fas fa-expand"></i></span></button>
    <div class="menu-dropdown menu-dropdown-download-buttons">
    <button class="headerbtn menu-dropdown__trigger" aria-label="Download this page"><i class="fas fa-download"></i></button>
    <div class="menu-dropdown__content"><ul><li><a href="_sources/list_of_subprojects.md" class="headerbtn" data-toggle="tooltip" data-placement="left" title="" data-original-title="Download source file"><span class="headerbtn__icon-container"><i class="fas fa-file"></i></span><span class="headerbtn__text-container">
    .md
    </span></a></li><li><button onclick="printPdf(this)" class="headerbtn" data-toggle="tooltip" data-placement="left" title="" data-original-title="Print to PDF"><span class="headerbtn__icon-container"><i class="fas fa-file-pdf"></i></span><span class="headerbtn__text-container">
    .pdf
    </span></button></li></ul>
    </div></div>
    <label for="__page-toc" class="headerbtn headerbtn-page-toc"><span class="headerbtn__icon-container"><i class="fas fa-list"></i></span></label>
    </div></div>
    <!-- Table of contents-->
    <div class="col-md-3 bd-toc show noprint"><div class="tocsection onthispage pt-5 pb-3"><i class="fas fa-list"></i>
    Contents
    </div>
    <nav id="bd-toc-nav" aria-label="Page">
    <ul class="visible nav section-nav flex-column"><li class="toc-h2 nav-item toc-entry active"><a class="reference internal nav-link active" href="#official-subprojects-with-ssc-representation">
    Official Subprojects with SSC representation
    </a></li><li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#official-subprojects-without-ssc-representation">
    Official Subprojects without SSC representation
    </a></li><li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#notes-about-official-jupyter-subprojects">
    Notes about Official Jupyter Subprojects
    </a></li></ul>
    </nav>
    </div></div><div class="article row"><div class="col pl-md-3 pl-lg-5 content-container">
    <!-- Table of contents that is only displayed when printing the page-->
    <div id="jb-print-docs-body" class="onlyprint">
    <h1>
    List of Official Jupyter Subprojects
    </h1>
    <!-- Table of contents-->
    <div id="print-main-content"><div id="jb-print-toc"><div>
    <h2>
    Contents
    </h2>
    </div>
    <nav aria-label="Page">
    <ul class="visible nav section-nav flex-column"><li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#official-subprojects-with-ssc-representation">
    Official Subprojects with SSC representation
    </a></li><li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#official-subprojects-without-ssc-representation">
    Official Subprojects without SSC representation
    </a></li><li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#notes-about-official-jupyter-subprojects">
    Notes about Official Jupyter Subprojects
    </a></li></ul>
    </nav>
    </div></div></div>
    <main id="main-content" role="main"><div><section class="tex2jax_ignore mathjax_ignore" id="list-of-official-jupyter-subprojects">
    <h1>
    List of Official Jupyter Subprojects
    <a class="headerlink" href="#list-of-official-jupyter-subprojects" title="Permalink to this headline">
    #
    </a></h1>
    <p>
    At the highest level, any Github repository under any official Jupyter GitHub organization is either itself an Official Jupyter Subproject, or is part of an Official Jupyter Subproject. All such Subprojects have all of the privileges and responsibilities detailed in the Software Subprojects of Jupyter governance document. Within the Official Jupyter Subproject designation, there are two types of Subprojects: ones with a formal Subproject Council and SSC representation, and smaller, less active ones whose Subproject Council is the SSC itself. This document enumerates Subprojects of these two types.
    </p><section id="official-subprojects-with-ssc-representation">
    <h2>
    Official Subprojects with SSC representation
    <a class="headerlink" href="#official-subprojects-with-ssc-representation" title="Permalink to this headline">
    #
    </a></h2>
    <p>
    The following Jupyter Subprojects have their own formal Subproject Council that elects and maintains an SSC representative:
    </p>
    <ul class="simple"><li><p><a class="reference external" href="https://github.com/jupyterlab/team-compass">
    JupyterLab
    </a></p></li><li><p><a class="reference external" href="https://github.com/jupyterhub/team-compass">
    JupyterHub and Binder
    </a></p>
    <ul><li><p><a class="reference external" href="https://github.com/jupyterhub/jupyterhub">
    Jupyterhub
    </a></p></li><li><p><a class="reference external" href="https://github.com/jupyterhub/binder">
    Binder
    </a></p></li><li><p><a class="reference external" href="https://github.com/jupyterhub/binderhub">
    BinderHub
    </a></p></li></ul>
    </li><li><p><a class="reference external" href="https://voila-dashboards.github.io/">
    Voilà
    </a></p></li><li><p><a class="reference external" href="https://github.com/jupyter-server/team-compass">
    Jupyter Server
    </a></p>
    <ul><li><p><a class="reference external" href="https://github.com/jupyter-server/jupyter_server">
    Jupyter Server
    </a></p></li><li><p><a class="reference external" href="https://github.com/jupyter/enterprise_gateway">
    Enterprise Gateway
    </a></p></li><li><p><a class="reference external" href="https://github.com/jupyter/kernel_gateway">
    Kernel Gateway
    </a></p></li></ul>
    </li><li><p><a class="reference external" href="https://github.com/jupyter-widgets/team-compass">
    Jupyter Widgets
    </a></p></li><li><p><a class="reference external" href="https://github.com/jupyter/notebook-team-compass">
    Jupyter Notebook
    </a></p></li><li><p><a class="reference external" href="https://github.com/jupyter/kernels-team-compass">
    Jupyter Kernels
    </a></p>
    <ul><li><p><a class="reference external" href="https://github.com/jupyter-xeus/">
    jupyter-xeus
    </a></p></li><li><p><a class="reference external" href="https://github.com/ipython/ipykernel">
    IPykernel
    </a></p></li><li><p><a class="reference external" href="https://github.com/ipython/ipython">
    IPython
    </a></p></li></ul>
    </li><li><p>
    Jupyter Foundations
    </p></li><li><p>
    Jupyter Standards
    </p></li><li><p><a class="reference external" href="https://github.com/jupyter/security">
    Jupyter Security
    </a></p></li><li><p><a class="reference external" href="https://github.com/jupyter/accessibility">
    Jupyter Accessibility
    </a></p></li></ul>
    </section><section id="official-subprojects-without-ssc-representation">
    <h2>
    Official Subprojects without SSC representation
    <a class="headerlink" href="#official-subprojects-without-ssc-representation" title="Permalink to this headline">
    #
    </a></h2>
    <p>
    The following official Jupyter Subprojects are smaller and less active. As such their formal Subproject Council will be the SSC and they will not have an independent SSC delegate. Our expectation is that these smaller teams will basically continue working as they do today, making decisions using the consensus-seeking phase of the Jupyter Decision-Making Guidelines. Even though the SSC has decision-making authority over these projects, the SSC delegates all decisions that do not have broad cross-project implications to the Subproject maintainers. In the rare situation that a vote is called, the SSC will serve as the voting body and will consult closely with the Subproject maintainers. If one of these Subprojects grows or becomes more active, the SSC can, at any time, elect a standalone council for the Subproject, at which point, the Subproject will begin to have an SSC delegate of their own. In all other respects, these Subprojects are full and official Subprojects.
    </p>
    <ul class="simple"><li><p>
    nbdime (
    <a class="reference external" href="https://github.com/jupyter/nbdime">
    https://github.com/jupyter/nbdime
    </a>
    )
    </p></li><li><p>
    nbgrader (
    <a class="reference external" href="https://github.com/jupyter/nbgrader">
    https://github.com/jupyter/nbgrader
    </a>
    )
    </p></li><li><p>
    nbviewer (
    <a class="reference external" href="https://github.com/jupyter/nbviewer">
    https://github.com/jupyter/nbviewer
    </a>
    )
    </p></li><li><p>
    ipyparallel (
    <a class="reference external" href="https://github.com/ipython/ipyparallel">
    https://github.com/ipython/ipyparallel
    </a>
    )
    </p></li><li><p>
    QtConsole (
    <a class="reference external" href="https://github.com/jupyter/qtconsole">
    https://github.com/jupyter/qtconsole
    </a>
    ). Note that QtConsole today is most actively maintained by the Spyder team; as part of this reorganization we will discuss with them whether it’s more appropriate to move the project to be fully under their organization.
    </p></li><li><p>
    All other repos not listed above and that don’t clearly fall into one of the official Subproject GitHub organizations above.
    </p></li></ul>
    </section><section id="notes-about-official-jupyter-subprojects">
    <h2>
    Notes about Official Jupyter Subprojects
    <a class="headerlink" href="#notes-about-official-jupyter-subprojects" title="Permalink to this headline">
    #
    </a></h2>
    <p>
    The Official Jupyter Subprojects document proposes a number of changes to how our repositories are organized into official Subprojects and GitHub organizations. This document describes the changes that are being proposed.
    </p>
    Unordered list<ul class="simple"><li><p>
    Services
    </p>
    <ul><li><p>
    In general Jupyter services such as Binder, nbviewer, and the Jupyter website involve legal, financial, and operational matters. As such, we are proposing that the actual services are managed by working groups that report to the Board of Directors, who can provide the needed support and oversight. For example, if we want to hire full or part time staff to maintain or operate these services, the Board of Directors would be responsible for raising funds, hiring, and managing those staff.
    </p></li><li><p>
    The JupyterHub and Binder teams have a number of unique considerations. Currently all Binder repositories are under the Jupyterhub organizations, but there is a separate (but highly overlapping team) listed as the Binder team. These teams will need to work out if they would like to each have a formal Subproject Council with an SSC representative, or if they would like to have a single team. The Governance Working Group will be available to the JupyterHub and Binder teams to help working through these questions.
    </p></li><li><p>
    We propose that the Jupyter website and its repository will be governed by a working group that reports to the Board of Directors.
    </p></li><li><p>
    We propose that the nbviewer service (only the actual live service) be governed by a working group that reports to the Board of Directors. The reusable part of nbviewer contained (
    <a class="reference external" href="https://github.com/jupyter/nbviewer">
    https://github.com/jupyter/nbviewer
    </a>
    ) will be an official Jupyter Subproject without SCC representation as described above.
    </p></li></ul>
    </li><li><p>
    Jupyter Kernels
    </p>
    <ul><li><p>
    To consolidate the project’s work on first-party kernels, we propose to establish a new official Subproject called
    <em>
    Jupyter Kernels
    </em>
    and create a Github organization named jupyter-kernels for the work of the Subproject. All Xeus repositories (
    <a class="reference external" href="https://github.com/jupyter-xeus">
    https://github.com/jupyter-xeus
    </a>
    ) will be moved into this organization. This Subproject will also govern the IPython GitHub organization, which will be left in place (
    <a class="reference external" href="https://github.com/ipython">
    https://github.com/ipython
    </a>
    ).
    </p></li><li><p>
    A new Subproject Council for this organization will be established, and they will elect an SSC delegate.
    </p></li></ul>
    </li><li><p>
    Jupyter Standards
    </p>
    <ul><li><p>
    Ultimately, because Jupyter standards are cross-project in nature, they are owned by the SSC. The mechanics of day-to-day management of the JEP repo will be decided by the SSC.
    </p></li><li><p>
    There are a number of repositories that encode project-wide standards and protocols. To consolidate work on these repositories, we propose to establish a new official Subproject called Jupyter Standards and create a Github organization named jupyter-standards for the work of the Subproject. The following repositories will be moved into this organization:
    </p>
    <ul><li><p>
    Jupyter Client (
    <a class="reference external" href="https://github.com/jupyter/jupyter_client">
    https://github.com/jupyter/jupyter_client
    </a>
    )
    </p></li><li><p>
    Jupyter Notebook Format (
    <a class="reference external" href="https://github.com/jupyter/nbformat">
    https://github.com/jupyter/nbformat
    </a>
    )
    </p></li><li><p>
    Documentation for other specifications maintained by other Subprojects, such as the Jupyter Widgets message specification, or the Jupyter Server REST APIs.
    </p></li><li><p>
    JEPs repo (
    <a class="reference external" href="https://github.com/jupyter/enhancement-proposals">
    https://github.com/jupyter/enhancement-proposals
    </a>
    ).
    </p></li></ul>
    </li></ul>
    </li><li><p>
    Jupyter Foundations
    </p>
    <ul><li><p>
    Jupyter’s software has a number of components that serve as a foundation for many other Subprojects. To consolidate work on these repositories, we propose to establish a new official Subproject called
    <em>
    Jupyter Foundations
    </em>
    and create a Github organization named jupyter-foundations for the work of the Subproject. The following repositories will be moved into this organization:
    </p>
    <ul><li><p>
    nbconvert (
    <a class="reference external" href="https://github.com/jupyter/nbconvert">
    https://github.com/jupyter/nbconvert
    </a>
    )
    </p></li><li><p>
    Jupyter Core (
    <a class="reference external" href="https://github.com/jupyter/jupyter_core">
    https://github.com/jupyter/jupyter_core
    </a>
    )
    </p></li><li><p>
    Jupyter-packaging (
    <a class="reference external" href="https://github.com/jupyter/jupyter-packaging">
    https://github.com/jupyter/jupyter-packaging
    </a>
    )
    </p></li><li><p>
    Terminado (
    <a class="reference external" href="https://github.com/jupyter/terminado">
    https://github.com/jupyter/terminado
    </a>
    )
    </p></li><li><p>
    nbclient (
    <a class="reference external" href="https://github.com/jupyter/nbclient">
    https://github.com/jupyter/nbclient
    </a>
    )
    </p></li><li><p>
    Telemetry (
    <a class="reference external" href="https://github.com/jupyter/telemetry">
    https://github.com/jupyter/telemetry
    </a>
    )
    </p></li><li><p>
    Traitlets (
    <a class="reference external" href="https://github.com/ipython/traitlets">
    https://github.com/ipython/traitlets
    </a>
    )
    </p></li><li><p>
    Jupyter Console (
    <a class="reference external" href="https://github.com/jupyter/jupyter_console">
    https://github.com/jupyter/jupyter_console
    </a>
    )
    </p></li><li><p>
    Docker stacks (
    <a class="reference external" href="https://github.com/jupyter/docker-stacks">
    https://github.com/jupyter/docker-stacks
    </a>
    )
    </p></li></ul>
    </li></ul>
    </li></ul>
    </section></section><script type="text/x-thebe-config">
    { requestKernel: true, binderOptions: { repo: "binder-examples/jupyter-stacks-datascience", ref: "master", }, codeMirrorConfig: { theme: "abcdef", mode: "python" }, kernelOptions: { kernelName: "python3", path: "./." }, predefinedOutput: true }
    </script><script>
    kernelName = 'python3'
    </script></div><main>
    <footer class="footer-article noprint">
    <!-- Previous / next buttons-->
    <div class="prev-next-area"><a class="left-prev" id="prev-link" href="software_subprojects.html" title="previous page"><i class="fas fa-angle-left"></i><div class="prev-next-info"><p class="prev-next-subtitle">
    previous
    </p><p class="prev-next-title">
    Software Subprojects
    </p></div></a><a class="right-next" id="next-link" href="newsubprojects.html" title="next page"><div class="prev-next-info"><p class="prev-next-subtitle">
    next
    </p><p class="prev-next-title">
    New Subproject Process
    </p></div><i class="fas fa-angle-right"></i></a></div></footer>
    </div></div><div class="footer-content row">
    Footer<footer class="col footer"><p>
    By The Jupyter Book community
    <br></p><div class="extra_footer"><p xmlns:dct="http://purl.org/dc/terms/" xmlns:vcard="http://www.w3.org/2001/vcard-rdf/3.0#"><a rel="license" href="http://creativecommons.org/publicdomain/zero/1.0/">
    Linked image with alternative text<img src="https://licensebuttons.net/p/zero/1.0/88x31.png" style="border-style: none;" alt="CC0">
    </a><br>
    To the extent possible under law,
    <a rel="dct:publisher" href="https://jupyter.org"><span property="dct:title">
    Project Jupyter
    </span></a>
    has waived all copyright and related or neighboring rights to
    <a href="https://github.com/jupyter/governance"><span property="dct:title">
    Project Jupyter Governance documents
    </span></a>
    . This work is published from:
    <span property="vcard:Country" datatype="dct:ISO3166" content="US" about="https://jupyter.org">
    United States
    </span>
    .
    </p></div><p></p></footer>
    </div></div></div></div>

HTML after

  1. As I have stated before in the issue created above I can add title text or I use aria-label for this code:
<button onclick="toggleFullScreen()" class="headerbtn" data-toggle="tooltip" data-placement="bottom" title="expand" data-original-title="Fullscreen mode"><span class="headerbtn__icon-container"><i class="fas fa-expand"></i></span></button>

or

<button onclick="toggleFullScreen()" class="headerbtn" data-toggle="tooltip" data-placement="bottom" title="" data-original-title="Fullscreen mode" aria-label="expand"><span class="headerbtn__icon-container"><i class="fas fa-expand"></i></span></button>
  1. I will add the lang attribute to the <html> element like this: <html style="--pulse-color: #fffc0230;" lang="en">
  2. I will use <header> element to wrap all necessary things that should be inside the header like this:
<header>
<input type="checkbox" class="sidebar-toggle" name="__navigation" id="__navigation" aria-label="Toggle navigation sidebar">
<label class="overlay overlay-navbar" for="__navigation"><div class="visually-hidden">
Toggle navigation sidebar
</div></label>

<input type="checkbox" class="sidebar-toggle" name="__page-toc" id="__page-toc" aria-label="Toggle in-page Table of Contents">
<label class="overlay overlay-pagetoc" for="__page-toc"><div class="visually-hidden">
Toggle in-page Table of Contents
</div></label>
</header>

I will also remove the <main> element from where it is being used then replace it with <div> element and use it the <main> element to wrap the contents in the side bar and the remaining content in the document that are not in the footer like this:

<main>
<div class="announcement header-item noprint"></div><div class="header header-item noprint"></div><div class="container-fluid" id="banner"></div><div class="container-xl"><div class="row">
<!-- Sidebar-->
<div class="bd-sidebar noprint" id="site-navigation"><div class="bd-sidebar__content"><div class="bd-sidebar__top"><div class="navbar-brand-box"><a class="navbar-brand text-wrap" href="index.html">
<h1 class="site-logo" id="site-title">
Project Jupyter Governance
</h1>
</a></div><form class="bd-search d-flex align-items-center" action="search.html" method="get"><i class="icon fas fa-search"></i>
<input type="search" class="form-control" name="q" id="search-input" placeholder="Search this book..." aria-label="Search this book..." autocomplete="off">
</form>
<nav class="bd-links" id="bd-docs-nav" aria-label="Main"><div class="bd-toc-item active">
<ul class="nav bd-sidenav bd-sidenav__home-link"><li class="toctree-l1"><a class="reference internal" href="intro.html">
Project Jupyter Governance
</a></li></ul>
<p aria-level="2" class="caption" role="heading"><span class="caption-text">
Code of Conduct
</span></p>
<ul class="nav bd-sidenav"><li class="toctree-l1 has-children"><a class="reference internal" href="conduct/code_of_conduct.html">
Project Jupyter Code of Conduct
</a><input class="toctree-checkbox" id="toctree-checkbox-1" name="toctree-checkbox-1" type="checkbox">
<label for="toctree-checkbox-1"><i class="fas fa-chevron-down"></i></label>
<ul><li class="toctree-l2"><a class="reference internal" href="conduct/enforcement.html">
Enforcement Manual
</a></li><li class="toctree-l2"><a class="reference internal" href="conduct/reporting_online.html">
Reporting Guide - Online Community
</a></li></ul>
</li><li class="toctree-l1 has-children"><a class="reference internal" href="CodeofConductJupyterDay.html">
JupyterDay Code of Conduct
</a><input class="toctree-checkbox" id="toctree-checkbox-2" name="toctree-checkbox-2" type="checkbox">
<label for="toctree-checkbox-2"><i class="fas fa-chevron-down"></i></label>
<ul><li class="toctree-l2"><a class="reference internal" href="CodeofConductJupyterDayOrganizer.html">
JupyterDay Organizer Code of Conduct
</a></li><li class="toctree-l2"><a class="reference internal" href="conduct/reporting_events.html">
Reporting Guide - Jupyter Events
</a></li></ul>
</li><li class="toctree-l1"><a class="reference internal" href="conduct/faq.html">
Frequently Asked Questions
</a></li></ul>
<p aria-level="2" class="caption" role="heading"><span class="caption-text">
Governance
</span></p>
<ul class="nav bd-sidenav"><li class="toctree-l1"><a class="reference internal" href="governance.html">
Governance of Project Jupyter
</a></li><li class="toctree-l1"><a class="reference internal" href="decision_making.html">
Decision-Making Guide
</a></li></ul>
<p aria-level="2" class="caption" role="heading"><span class="caption-text">
Organizational Structure
</span></p>
<ul class="current nav bd-sidenav"><li class="toctree-l1"><a class="reference internal" href="people.html">
Steering Council and Institutional Partners
</a></li><li class="toctree-l1"><a class="reference internal" href="communitybuildingcommittee.html">
Community Building Committee
</a></li><li class="toctree-l1 current active has-children"><a class="reference internal" href="software_subprojects.html">
Software Subprojects
</a><input checked="" class="toctree-checkbox" id="toctree-checkbox-3" name="toctree-checkbox-3" type="checkbox">
<label for="toctree-checkbox-3"><i class="fas fa-chevron-down"></i></label>
<ul class="current"><li class="toctree-l2 current active"><a class="current reference internal" href="#">
List of Official Jupyter Subprojects
</a></li><li class="toctree-l2"><a class="reference internal" href="newsubprojects.html">
New Subproject Process
</a></li></ul>
</li><li class="toctree-l1"><a class="reference internal" href="distinguished_contributors.html">
Distinguished Contributors
</a></li></ul>
<p aria-level="2" class="caption" role="heading"><span class="caption-text">
Organizational Policy
</span></p>
<ul class="nav bd-sidenav"><li class="toctree-l1"><a class="reference internal" href="papers.html">
Process for Authoring Jupyter Related Academic Papers
</a></li><li class="toctree-l1"><a class="reference internal" href="trademarks.html">
Trademark Usage Policy
</a></li><li class="toctree-l1"><a class="reference internal" href="projectlicense.html">
Licensing terms for Project Jupyter code
</a></li></ul>
<p aria-level="2" class="caption" role="heading"><span class="caption-text">
Future Governance [work in progress]
</span></p>
<ul class="nav bd-sidenav"><li class="toctree-l1"><a class="reference internal" href="overview.html">
Jupyter Governance Overview
</a></li><li class="toctree-l1"><a class="reference internal" href="bootstrapping_decision_making.html">
Bootstrapping Subproject Councils
</a></li><li class="toctree-l1"><a class="reference internal" href="executive_council.html">
Executive Council
</a></li><li class="toctree-l1"><a class="reference internal" href="software_steering_council.html">
Software Steering Council
</a></li><li class="toctree-l1"><a class="reference internal" href="standing_committees_and_working_groups.html">
Standing Committees and Working Groups
</a></li><li class="toctree-l1"><a class="reference internal" href="list_of_standing_committees_and_working_groups.html">
List of Standing Committees and Working Groups
</a></li></ul>
</div></nav>
</div><div class="bd-sidebar__bottom">
<!-- To handle the deprecated key-->
<div class="navbar_extra_footer">
Powered by
<a href="https://jupyterbook.org">
Jupyter Book
</a></div></div></div><div id="rtd-footer-container"></div></div>
<!-- A tiny helper pixel to detect if we've scrolled-->
<div class="sbt-scroll-pixel-helper"></div>
<!-- Main content-->
<div class="col py-0 content-container"><div class="header-article row sticky-top noprint"><div class="col py-1 d-flex header-article-main"><div class="header-article__left">
<label for="__navigation" class="headerbtn" data-toggle="tooltip" data-placement="right" title="" data-original-title="Toggle navigation"><span class="headerbtn__icon-container"><i class="fas fa-bars"></i></span></label>
</div><div class="header-article__right">
<button onclick="toggleFullScreen()" class="headerbtn" data-toggle="tooltip" data-placement="bottom" title="" data-original-title="Fullscreen mode"><span class="headerbtn__icon-container"><i class="fas fa-expand"></i></span></button>
<div class="menu-dropdown menu-dropdown-download-buttons">
<button class="headerbtn menu-dropdown__trigger" aria-label="Download this page"><i class="fas fa-download"></i></button>
<div class="menu-dropdown__content"><ul><li><a href="_sources/list_of_subprojects.md" class="headerbtn" data-toggle="tooltip" data-placement="left" title="" data-original-title="Download source file"><span class="headerbtn__icon-container"><i class="fas fa-file"></i></span><span class="headerbtn__text-container">
.md
</span></a></li><li><button onclick="printPdf(this)" class="headerbtn" data-toggle="tooltip" data-placement="left" title="" data-original-title="Print to PDF"><span class="headerbtn__icon-container"><i class="fas fa-file-pdf"></i></span><span class="headerbtn__text-container">
.pdf
</span></button></li></ul>
</div></div>
<label for="__page-toc" class="headerbtn headerbtn-page-toc"><span class="headerbtn__icon-container"><i class="fas fa-list"></i></span></label>
</div></div>
<!-- Table of contents-->
<div class="col-md-3 bd-toc show noprint"><div class="tocsection onthispage pt-5 pb-3"><i class="fas fa-list"></i>
Contents
</div>
<nav id="bd-toc-nav" aria-label="Page">
<ul class="visible nav section-nav flex-column"><li class="toc-h2 nav-item toc-entry active"><a class="reference internal nav-link active" href="#official-subprojects-with-ssc-representation">
Official Subprojects with SSC representation
</a></li><li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#official-subprojects-without-ssc-representation">
Official Subprojects without SSC representation
</a></li><li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#notes-about-official-jupyter-subprojects">
Notes about Official Jupyter Subprojects
</a></li></ul>
</nav>
</div></div><div class="article row"><div class="col pl-md-3 pl-lg-5 content-container">
<!-- Table of contents that is only displayed when printing the page-->
<div id="jb-print-docs-body" class="onlyprint">
<h1>
List of Official Jupyter Subprojects
</h1>
<!-- Table of contents-->
<div id="print-main-content"><div id="jb-print-toc"><div>
<h2>
Contents
</h2>
</div>
<nav aria-label="Page">
<ul class="visible nav section-nav flex-column"><li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#official-subprojects-with-ssc-representation">
Official Subprojects with SSC representation
</a></li><li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#official-subprojects-without-ssc-representation">
Official Subprojects without SSC representation
</a></li><li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#notes-about-official-jupyter-subprojects">
Notes about Official Jupyter Subprojects
</a></li></ul>
</nav>
</div></div></div>
<div id="main-content"><div><section class="tex2jax_ignore mathjax_ignore" id="list-of-official-jupyter-subprojects">
<h1>
List of Official Jupyter Subprojects
<a class="headerlink" href="#list-of-official-jupyter-subprojects" title="Permalink to this headline">
#
</a></h1>
<p>
At the highest level, any Github repository under any official Jupyter GitHub organization is either itself an Official Jupyter Subproject, or is part of an Official Jupyter Subproject. All such Subprojects have all of the privileges and responsibilities detailed in the Software Subprojects of Jupyter governance document. Within the Official Jupyter Subproject designation, there are two types of Subprojects: ones with a formal Subproject Council and SSC representation, and smaller, less active ones whose Subproject Council is the SSC itself. This document enumerates Subprojects of these two types.
</p><section id="official-subprojects-with-ssc-representation">
<h2>
Official Subprojects with SSC representation
<a class="headerlink" href="#official-subprojects-with-ssc-representation" title="Permalink to this headline">
#
</a></h2>
<p>
The following Jupyter Subprojects have their own formal Subproject Council that elects and maintains an SSC representative:
</p>
Unordered list<ul class="simple"><li><p><a class="reference external" href="https://github.com/jupyterlab/team-compass">
JupyterLab
</a></p></li><li><p><a class="reference external" href="https://github.com/jupyterhub/team-compass">
JupyterHub and Binder
</a></p>
Unordered list<ul><li><p><a class="reference external" href="https://github.com/jupyterhub/jupyterhub">
Jupyterhub
</a></p></li><li><p><a class="reference external" href="https://github.com/jupyterhub/binder">
Binder
</a></p></li><li><p><a class="reference external" href="https://github.com/jupyterhub/binderhub">
BinderHub
</a></p></li></ul>
</li><li><p><a class="reference external" href="https://voila-dashboards.github.io/">
Voilà
</a></p></li><li><p><a class="reference external" href="https://github.com/jupyter-server/team-compass">
Jupyter Server
</a></p>
Unordered list<ul><li><p><a class="reference external" href="https://github.com/jupyter-server/jupyter_server">
Jupyter Server
</a></p></li><li><p><a class="reference external" href="https://github.com/jupyter/enterprise_gateway">
Enterprise Gateway
</a></p></li><li><p><a class="reference external" href="https://github.com/jupyter/kernel_gateway">
Kernel Gateway
</a></p></li></ul>
</li><li><p><a class="reference external" href="https://github.com/jupyter-widgets/team-compass">
Jupyter Widgets
</a></p></li><li><p><a class="reference external" href="https://github.com/jupyter/notebook-team-compass">
Jupyter Notebook
</a></p></li><li><p><a class="reference external" href="https://github.com/jupyter/kernels-team-compass">
Jupyter Kernels
</a></p>
Unordered list<ul><li><p><a class="reference external" href="https://github.com/jupyter-xeus/">
jupyter-xeus
</a></p></li><li><p><a class="reference external" href="https://github.com/ipython/ipykernel">
IPykernel
</a></p></li><li><p><a class="reference external" href="https://github.com/ipython/ipython">
IPython
</a></p></li></ul>
</li><li><p>
Jupyter Foundations
</p></li><li><p>
Jupyter Standards
</p></li><li><p><a class="reference external" href="https://github.com/jupyter/security">
Jupyter Security
</a></p></li><li><p><a class="reference external" href="https://github.com/jupyter/accessibility">
Jupyter Accessibility
</a></p></li></ul>
</section><section id="official-subprojects-without-ssc-representation">
Heading level 2<h2>
Official Subprojects without SSC representation
<a class="headerlink" href="#official-subprojects-without-ssc-representation" title="Permalink to this headline">
#
</a></h2>
<p>
The following official Jupyter Subprojects are smaller and less active. As such their formal Subproject Council will be the SSC and they will not have an independent SSC delegate. Our expectation is that these smaller teams will basically continue working as they do today, making decisions using the consensus-seeking phase of the Jupyter Decision-Making Guidelines. Even though the SSC has decision-making authority over these projects, the SSC delegates all decisions that do not have broad cross-project implications to the Subproject maintainers. In the rare situation that a vote is called, the SSC will serve as the voting body and will consult closely with the Subproject maintainers. If one of these Subprojects grows or becomes more active, the SSC can, at any time, elect a standalone council for the Subproject, at which point, the Subproject will begin to have an SSC delegate of their own. In all other respects, these Subprojects are full and official Subprojects.
</p>
Unordered list<ul class="simple"><li><p>
nbdime (
<a class="reference external" href="https://github.com/jupyter/nbdime">
https://github.com/jupyter/nbdime
</a>
)
</p></li><li><p>
nbgrader (
<a class="reference external" href="https://github.com/jupyter/nbgrader">
https://github.com/jupyter/nbgrader
</a>
)
</p></li><li><p>
nbviewer (
<a class="reference external" href="https://github.com/jupyter/nbviewer">
https://github.com/jupyter/nbviewer
</a>
)
</p></li><li><p>
ipyparallel (
<a class="reference external" href="https://github.com/ipython/ipyparallel">
https://github.com/ipython/ipyparallel
</a>
)
</p></li><li><p>
QtConsole (
<a class="reference external" href="https://github.com/jupyter/qtconsole">
https://github.com/jupyter/qtconsole
</a>
). Note that QtConsole today is most actively maintained by the Spyder team; as part of this reorganization we will discuss with them whether it’s more appropriate to move the project to be fully under their organization.
</p></li><li><p>
All other repos not listed above and that don’t clearly fall into one of the official Subproject GitHub organizations above.
</p></li></ul>
</section><section id="notes-about-official-jupyter-subprojects">
Heading level 2<h2>
Notes about Official Jupyter Subprojects
<a class="headerlink" href="#notes-about-official-jupyter-subprojects" title="Permalink to this headline">
#
</a></h2>
<p>
The Official Jupyter Subprojects document proposes a number of changes to how our repositories are organized into official Subprojects and GitHub organizations. This document describes the changes that are being proposed.
</p>
Unordered list<ul class="simple"><li><p>
Services
</p>
Unordered list<ul><li><p>
In general Jupyter services such as Binder, nbviewer, and the Jupyter website involve legal, financial, and operational matters. As such, we are proposing that the actual services are managed by working groups that report to the Board of Directors, who can provide the needed support and oversight. For example, if we want to hire full or part time staff to maintain or operate these services, the Board of Directors would be responsible for raising funds, hiring, and managing those staff.
</p></li><li><p>
The JupyterHub and Binder teams have a number of unique considerations. Currently all Binder repositories are under the Jupyterhub organizations, but there is a separate (but highly overlapping team) listed as the Binder team. These teams will need to work out if they would like to each have a formal Subproject Council with an SSC representative, or if they would like to have a single team. The Governance Working Group will be available to the JupyterHub and Binder teams to help working through these questions.
</p></li><li><p>
We propose that the Jupyter website and its repository will be governed by a working group that reports to the Board of Directors.
</p></li><li><p>
We propose that the nbviewer service (only the actual live service) be governed by a working group that reports to the Board of Directors. The reusable part of nbviewer contained (
<a class="reference external" href="https://github.com/jupyter/nbviewer">
https://github.com/jupyter/nbviewer
</a>
) will be an official Jupyter Subproject without SCC representation as described above.
</p></li></ul>
</li><li><p>
Jupyter Kernels
</p>
Unordered list<ul><li><p>
To consolidate the project’s work on first-party kernels, we propose to establish a new official Subproject called
<em>
Jupyter Kernels
</em>
and create a Github organization named jupyter-kernels for the work of the Subproject. All Xeus repositories (
<a class="reference external" href="https://github.com/jupyter-xeus">
https://github.com/jupyter-xeus
</a>
) will be moved into this organization. This Subproject will also govern the IPython GitHub organization, which will be left in place (
<a class="reference external" href="https://github.com/ipython">
https://github.com/ipython
</a>
).
</p></li><li><p>
A new Subproject Council for this organization will be established, and they will elect an SSC delegate.
</p></li></ul>
</li><li><p>
Jupyter Standards
</p>
Unordered list<ul><li><p>
Ultimately, because Jupyter standards are cross-project in nature, they are owned by the SSC. The mechanics of day-to-day management of the JEP repo will be decided by the SSC.
</p></li><li><p>
There are a number of repositories that encode project-wide standards and protocols. To consolidate work on these repositories, we propose to establish a new official Subproject called Jupyter Standards and create a Github organization named jupyter-standards for the work of the Subproject. The following repositories will be moved into this organization:
</p>
Unordered list<ul><li><p>
Jupyter Client (
<a class="reference external" href="https://github.com/jupyter/jupyter_client">
https://github.com/jupyter/jupyter_client
</a>
)
</p></li><li><p>
Jupyter Notebook Format (
<a class="reference external" href="https://github.com/jupyter/nbformat">
https://github.com/jupyter/nbformat
</a>
)
</p></li><li><p>
Documentation for other specifications maintained by other Subprojects, such as the Jupyter Widgets message specification, or the Jupyter Server REST APIs.
</p></li><li><p>
JEPs repo (
<a class="reference external" href="https://github.com/jupyter/enhancement-proposals">
https://github.com/jupyter/enhancement-proposals
</a>
).
</p></li></ul>
</li></ul>
</li><li><p>
Jupyter Foundations
</p>
Unordered list<ul><li><p>
Jupyter’s software has a number of components that serve as a foundation for many other Subprojects. To consolidate work on these repositories, we propose to establish a new official Subproject called
<em>
Jupyter Foundations
</em>
and create a Github organization named jupyter-foundations for the work of the Subproject. The following repositories will be moved into this organization:
</p>
Unordered list<ul><li><p>
nbconvert (
<a class="reference external" href="https://github.com/jupyter/nbconvert">
https://github.com/jupyter/nbconvert
</a>
)
</p></li><li><p>
Jupyter Core (
<a class="reference external" href="https://github.com/jupyter/jupyter_core">
https://github.com/jupyter/jupyter_core
</a>
)
</p></li><li><p>
Jupyter-packaging (
<a class="reference external" href="https://github.com/jupyter/jupyter-packaging">
https://github.com/jupyter/jupyter-packaging
</a>
)
</p></li><li><p>
Terminado (
<a class="reference external" href="https://github.com/jupyter/terminado">
https://github.com/jupyter/terminado
</a>
)
</p></li><li><p>
nbclient (
<a class="reference external" href="https://github.com/jupyter/nbclient">
https://github.com/jupyter/nbclient
</a>
)
</p></li><li><p>
Telemetry (
<a class="reference external" href="https://github.com/jupyter/telemetry">
https://github.com/jupyter/telemetry
</a>
)
</p></li><li><p>
Traitlets (
<a class="reference external" href="https://github.com/ipython/traitlets">
https://github.com/ipython/traitlets
</a>
)
</p></li><li><p>
Jupyter Console (
<a class="reference external" href="https://github.com/jupyter/jupyter_console">
https://github.com/jupyter/jupyter_console
</a>
)
</p></li><li><p>
Docker stacks (
<a class="reference external" href="https://github.com/jupyter/docker-stacks">
https://github.com/jupyter/docker-stacks
</a>
)
</p></li></ul>
</li></ul>
</li></ul>
</section></section><script type="text/x-thebe-config">
{ requestKernel: true, binderOptions: { repo: "binder-examples/jupyter-stacks-datascience", ref: "master", }, codeMirrorConfig: { theme: "abcdef", mode: "python" }, kernelOptions: { kernelName: "python3", path: "./." }, predefinedOutput: true }
</script><script>
kernelName = 'python3'
</script></div></div></main>

then followed by the <footer> element like this:

<footer class="footer-article noprint">
<!-- Previous / next buttons-->
<div class="prev-next-area"><a class="left-prev" id="prev-link" href="software_subprojects.html" title="previous page"><i class="fas fa-angle-left"></i><div class="prev-next-info"><p class="prev-next-subtitle">
previous
</p><p class="prev-next-title">
Software Subprojects
</p></div></a><a class="right-next" id="next-link" href="newsubprojects.html" title="next page"><div class="prev-next-info"><p class="prev-next-subtitle">
next
</p><p class="prev-next-title">
New Subproject Process
</p></div><i class="fas fa-angle-right"></i></a></div>
</div></div><div class="footer-content row">
<!-- and  i will change the second `<footer>` to `<section>` -->
<section class="col footer"><p>
By The Jupyter Book community
<br></p><div class="extra_footer"><p xmlns:dct="http://purl.org/dc/terms/" xmlns:vcard="http://www.w3.org/2001/vcard-rdf/3.0#"><a rel="license" href="http://creativecommons.org/publicdomain/zero/1.0/">
Linked image with alternative text<img src="https://licensebuttons.net/p/zero/1.0/88x31.png" style="border-style: none;" alt="CC0">
</a><br>
To the extent possible under law,
<a rel="dct:publisher" href="https://jupyter.org"><span property="dct:title">
Project Jupyter
</span></a>
has waived all copyright and related or neighboring rights to
<a href="https://github.com/jupyter/governance"><span property="dct:title">
Project Jupyter Governance documents
</span></a>
. This work is published from:
<span property="vcard:Country" datatype="dct:ISO3166" content="US" about="https://jupyter.org">
United States
</span>
.
</p></div><p></p></section></footer>

the following code above has restructured the page document into header, main and footer structure.

minrk commented 2 years ago

God suggestions, thank you!

sgibson91 commented 2 years ago

Thank you for your contribution! Since the contribution period is now over, we will close this issue.