Application accessibility statement in line with Public Sector Body (Websites and Mobile Applications) (No. 2) Accessibility Regulations 2018
This accessibility statement applies to the Noteable service described at (https://noteable.edina.ac.uk). Parallel statements are available for the website, moodle, and StatusPage.
This application is run by EDINA, for the University of Edinburgh. Our aim is for as many people as possible to be able to use this service. That means you should be able to:
- navigate most of the service using just a keyboard
- navigate most of the service using speech recognition software
- listen to most of the service using a screen reader (including the most recent versions of JAWS, NVDA and VoiceOver)
- understand the content of the application
- access and use the service without any time limits
- zoom in up to 200% without the text spilling off the screen
- zoom in and out while using the application
- change colours, contrast levels and fonts using your browser settings
Customising the application
AbilityNet has advice on making your device easier to use if you have a disability. This is an external site with suggestions to make your computer more accessible:
AbilityNet - My Computer My Way
With a few simple steps you can customise the appearance of our website using your browser settings to make it easier to read and navigate:
Additional information on how to customise our website appearance
How accessible this application is
We know some parts of this application are not fully accessible:
- some parts may not be fully compatible with screen readers (such as the Notebook Document pages)
- sometimes it can be hard to tell where you have navigated to using only the keyboard
- some non-text content does not have text alternatives
- some service features include pop-up windows. User are notified through the cursor changing to a hand-click icon when hovering over links which will open a new tab or window
- there may be some use of block italics and text over a background that changes colour
- Noteable is not primarily designed to be used on devices with particularly small screens smaller than 10 inches (such as a smartphone)
- some backgrounds change colour, with the user unable to pause or stop
- magnification beyond 200% may lead to reflow issues, where horizontal scrolling is necessary to see all content
- not all colour contrasts meet the recommended Web Content Accessibility Guidelines (WCAG) 2.2 AA standard
- some images may fail colour contrast guidelines if users redefine the colour palette in their browser
Feedback and contact information
If you need information on this website or the Noteable service in a different format such as an accessible PDF, large print, easy read, audio recording or braille:
- email edina@ed.ac.uk
- call us on 0131 650 3302
- British Sign Language (BSL) users can contact us via Contact SCOTLAND BSL, the on-line BSL interpreting service
We will consider your request and get back to you within 5 working days.
Reporting accessibility problems with this application
We are always looking to improve the accessibility of the Noteable service. If you find any problems not listed on this page, or think we're not meeting accessibility requirements:
- email us at edina@ed.ac.uk
- call us on 0131 650 3302
- British Sign Language (BSL) users can contact us via Contact SCOTLAND BSL, the online BSL interpreting service
We will consider your report and get back to you within 5 working days.
Enforcement procedure
The Equality and Human Rights Commission (EHRC) is responsible for enforcing the Public Sector Bodies (Websites and Mobile Applications) (No. 2) Accessibility Regulations 2018 (the 'accessibility regulations'). If you're not happy with how we respond to your complaint please contact the Equality Advisory and Support Service (EASS) directly.
Contact details for the Equality Advisory and Support Service (EASS)
The UK government has also produced information on how to report accessibility issues: Reporting an accessibility problem on a public sector website.
Contacting us by phone using British Sign Language
Contact SCOTLAND BSL runs a service for British Sign Language users and all of Scotland's public bodies using video relay. This enables sign language users to contact public bodies and vice versa. The service operates 24 hours a day, 7 days a week.
Technical information about this application's accessibility
EDINA is committed to making its Noteable service accessible, in accordance with the Public Sector Bodies (Websites and Mobile Applications) (No. 2) Accessibility Regulations 2018.
Compliance status
This application is partially compliant with the Web Content Accessibility Guidelines (WCAG) 2.2 AA standard, owing to the non-compliances listed below.
Non accessible content
The service is based on the Jupyter Notebook, and Notebooks are known to be complex web-applications.
Jupyter Notebook and Jupyter Lab applications
Project Jupyter has an over-arching accessibility working group which meets every 2 weeks.
The links to named issues are:
- Open Issues for Classic notebook Accessibility on GitHub
- Open Issues for Jupyterlab Accessibility on GitHub
Notebook Documents have specific keyboard controls for the application, so the application does not fail 2.1.1 - Keyboard. There is a cheat-sheet for keyboard controls downloadable via Jake's Blog.
RStudio
The RStudio interface interface uses an OpenSource application from Posit. The company has a Product VPAT Document for RStudio Server dated October 2024. This covers the version of RStudio server used in Noteable at the time of writing, and covers WCAG 2.2
Non-compliance with the accessibility regulations
The following items to not comply with the WCAG 2.2 AA success criteria -
Legacy Jupyter Notebook
- 1.3.1 - Info and Relationships
- The list of folders and files is styled like a table without a table element
- Landmarks are either not used, or used poorly
- 1.4.3 - Contrast Minimum
- In code-cells, syntax highlighting may fail to have sufficient colour contrast
- In Formgrader, the "breadcrumb" text does not have sufficient colour contrast to it's background
- In Formgrader, the side-menu links do not have sufficient colour contrast
- 1.4.10 - Reflow
- The notebook server page zooms to about 240% before adding a very short horizontal scroll bar
- A notebook document page zooms to about 400% before adding a horizontal scroll bar and requiring scrolling
- [tree good, nb-doc good] Both operate on a mobile phone without a horizontal scroll bar
- 2.1.2 - No Keyboard Trap
- Code cells in notebook documents trap the tab key. As noted above, Both Notebook Documents and Code Cells use defined Keyboard Shortcuts for functionality, and the tab is not used to progress to the next focus element
- 2.2.1 - Timing Adjustable
- All Notebook Server have timeouts:
- an idle timeout of 60 minutes
- a life-time timeout of 12 hours
- Timeouts cannot be changed by the user
- Users are not warned of impending timeouts
- All Notebook Server have timeouts:
- 2.4.1 - Bypass Blocks
- There is no "Skip to Content" link
- There are "blocks" of content that are not labled or otherwise identifiable
- 2.4.2 - Page Titled
- The Assignments tab does not have a descriptive title.
- 2.4.4 - Link Purpose (In Context)
- This Success Criterion asks that links to different places have different text. It is the flip-side to 3.2.4 - Consistent Identification.
- Many of the controls in both the notebook-server and notebook-documents have no discernable name and/or the same target URL, yet perform different actions.
- 2.4.5 - Multiple Ways
- There is not complete site map or similar technique to provide alternative options for finding content within the service
- 2.4.6 - Headings and Labels
- The Checkbox for each item in filesystem list has no label
- The headings in various pages are not in sequence
- 2.4.7 - Focus Visible
- The focus indicator may not be particularly visible (ok in tree view)
- 2.5.3 - Label in Name
- There are many places where inputs & links do not have labels or accessible names, or the accessible name does not match the visible label
- 3.1.1 - Language of Page
- The formgrader tab does not specify a language.
- 3.2.2 - On Input
- There is no indication when a link will be opened in a new window/tab. All notebooks, and most formgrader actions, are opened in a new window
- 3.2.3 - Consistent Navigation
- On the notebook server page, the +GitRepo, Disk, and Empty Trash buttons do not always load in the same order
- 3.3.2 - Labels or Instructions
- The checkboxes in the list of folders and files are both un-labelled and not contained in a form
- 4.1.2 - Name, Role, Value
- The "select all" button in the files and folders list is a button with a role of checkbox, which contains another checkbox
- The page changes from a file upload are not announced, and do not appear close to the upload button
- In the Assignments tab, the elements that provide links the Noteable Documents / Feedback documents, the different assignments cannot be programatically identified
Jupyterlab Notebook
- 1.1.1 - Non-text Content
- Not all inline SVG graphics have titles or labels
- Images are used in Launcher "buttons". They generally do not have titles/labels
- 1.3.1 - Info and Relationships
- There are no Landmarks to identify the structure and/or relationship of elements of the interface, however it does have a significant number of aria attributes
- There are large complex tables with no header informtion to help maintain context
- 1.4.3 - Contrast Minimum
- In code-cells, syntax highlighting may fail to have sufficient colour contrast
- In Formgrader, the "breadcrumb" text does not have sufficient colour contrast to it's background
- In Formgrader, the side-menu links do not have sufficient colour contrast
- 2.1.1 - Keyboard
- Users cannot access all parts of the jupyterlab interface by keyboard alone:
- The application menu is completely unavailable
- Navigating between multiple documents in the working area is very difficult
- Navigating between the side-bar and a document in the working area requires selecting the correct item in the side-bar/
- There is a cheat-sheet for jupyterlab at Jake's Blog
- Users cannot access all parts of the jupyterlab interface by keyboard alone:
- 2.1.2 - No Keyboard Trap
- Code cells in notebook documents trap the tab key. As noted above, Both Notebook Documents and Code Cells use defined Keyboard Shortcuts for functionality, and the tab is not used to progress to the next focus element
- 2.2.1 - Timing Adjustable
- All Notebook Server have timeouts:
- an idle timeout of 60 minutes
- a life-time timeout of 12 hours
- Timeouts cannot be changed by the user
- Users are not warned of impending timeouts
- All Notebook Server have timeouts:
- 2.4.1 - Bypass Blocks
- There is no "Skip to Content" link
- There is no Landmark structure in the jupyterlab interface
- There is no Heading structure in the jupyterlab interface
- There are "blocks" of content that are not labled or otherwise identifiable
- 2.4.3 - Focus Order
- The focus order does not include the application top-menu - just the side-bar and main work area
- Focus disappears when tabbing up from the top of the side-bar
- 2.4.5 - Multiple Ways
- There is not complete site map or similar technique to provide alternative options for finding content within the service
- 2.4.6 - Headings and Labels
- The headings in various pages are not in sequence
- 2.4.7 - Focus Visible
- The focus indicator may not be particularly visible
- 3.2.2 - On Input
- There is no indication when a link will be opened in a new window/tab. This is mostly in the Jupyterlab Help menu, but also applies to the Noteable menu and the extensions side-panel
- 4.1.2 - Name, Role, Value
- Some elements have incorrect, invalid, or conflicting Roles
- Some elements have incorrect, invalid, or missing aria attributes for the given Roles
RStudio Notebook
For a full report, see Product VPAT Document for RStudio Server.
- 1.1.1 - Non-text Content
- There are a few control images without alt-text or descriptive name
- 1.3.1 - Info and Relationships
- There are large complex tables with no header informtion to help maintain context
- There are incorrect aria-label attributes
- There are Landmarks nested within other landmarks
- Element IDs are not unique
- 1.4.3 - Contrast Minimum
- In code-cells, syntax highlighting may fail to have sufficient colour contrast
- Various parts of supplimental information in the interface may be insufficient colour contrast
- 2.1.2 - No Keyboard Trap
- Whilst there is, technically, no keyboard trap - the interface uses a myriad of key-combinations to access various components, and the tab key can, does, get trapped in code-cells. The list of keyboard controls is available in the posit article Keyboard Shortcuts in the RStudio IDE
- 2.2.1 - Timing Adjustable
- All Notebook Server have timeouts:
- an idle timeout of 60 minutes
- a life-time timeout of 12 hours
- Timeouts cannot be changed by the user
- Users are not warned of impending timeouts
- All Notebook Server have timeouts:
- 2.4.1 - Bypass Blocks
- There is no "Skip to Content" link - though main content is a difficult concept to define within the UI
- There are "blocks" of content that are not labled or otherwise identifiable
- 2.4.5 - Multiple Ways
- There is not complete site map or similar technique to provide alternative options for finding content within the service
- 2.4.7 - Focus Visible
- The focus indicator may not be particularly visible
- 2.5.8 - Target Size (Minimum)
- Not all icons and other interactive components [mostly in the "in-app menus"] are either large enough on their own, or sufficiently spaced, to meet the minimum of 24x24px
- 3.2.2 - On Input
- There is no indication when a link will be opened in a new window/tab. This is mostly restricted to the RStudio Help menu
- 3.3.2 - Labels or Instructions
- The checkboxes in the list of folders and files are both un-labelled and not contained in a form
- Many inputs are javascript events on non-input events, so not programatically identifiable
- 4.1.2 - Name, Role, Value
- Some elements have incorrect, invalid, or conflicting Roles
- Some elements have incorrect, invalid, or missing aria attributes for the given Roles
Disproportionate burden
We are not currently claiming that any accessibility problems would be a disproportionate burden to fix.
Content that's not within the scope of the accessibility regulations
We will continue to address the accessibility issues highlighted, working alongside Jupyter to deliver a solution or suitable workaround. We have shared our accessibility testing results with Jupyter and hope to have a complete solution or significant improvement in place by December 2025.
While we are in the process of resolving these accessibility issues, we will ensure reasonable adjustments are in place to make sure no user is disadvantaged. As changes are made, we will continue to review accessibility and retest the accessibility of this application.
Note: We specifically exclude user-generated content, such as code run in Notebook Documents, from the scope of this report. For example, the addition of descriptions for graphs requires the user to include that in their code.
What we're doing to improve accessibility
Where possible, Jupyter/RStudio servers will be updated to the latest [usable] versions for the start of each academic year.
Preparation of this accessibility statement
The original statement was prepared on 20th October 2021. It was split into separate documents, and last reviewed in December 2024.
Testing
This service was last tested by the Noteable Service team within the Information Services Group directorate. The testing was carried out primarily using a combination of Firefox & Google Chrome browsers on a Linux system; with MacOS (and Safari) and Windows 10 (and Microsoft Edge) also used for comparative purposes, including screen reader compatibility. Lynx was used to test text-only navigation for the main website (but not the notebooks). In particular, the service was tested using Chrome on multiple platforms since it is by far the most popular browser when using a screen reader and the most popular browser when using the Noteable service. Current worldwide usage levels for different screen readers and browsers can be found in the May-June 2021 WebAIM annual survey.
Automated testing
We try to be consistent with automated testing across all components in the Noteable service.
A representative sample of pages were chosen to cover the different types of content and presentation within the service.
We used a range of toolkits and services to check each page:
- The IBM Equal Access Accessibility Checker is an open source tool for web developers and auditors that utilizes IBM's accessibility rule engine, which detects accessibility issues for web pages and web applications
- The Google Chrome Lighthouse DevTool is an open-source, automated tool for improving the quality of web pages. It has audits for performance, accessibility, best practice, progressive web apps, SEO and more
- The WAVE® Web Accessibility Evaluation Tool from WebAIM is a suite of evaluation tools that helps authors make their web content more accessible to individuals with disabilities
- The Accessibility tree viewer from the Firefox Developer Tools extension
- The Polypane web-development browser
- We use a consistent notebook document for testing - and we test with cell output cleared
Tested Page | IBM Equal Access Accessibility Checker | LightHouse Accessibility | LightHouse Best Practice |
---|---|---|---|
Legacy Jupyter interface Tree page | 91% | 87% | 100% |
... Notebook document | 85% | 84% | 96% |
... Assignment list tab | 89% | did not test cleanly | |
... Formgrader tab | 71% | 82% | 96% |
Jupyterlab interface Main UI (default configuration) | 88% | 86% | 100% |
... with notebook document open | 89% | 77% | 78% |
... with assignment tab open | 87% | 81% | 78% |
... with formgrader tab open | 85% | 83% | 78% |
RStudio Interface | 93% | 89% | 78% |
We recognise the limitations of automated testing and we supplemented this with manual testing.
Manual Testing
Basic manual testing is viewing each page in a variety of browser/Operating System.
Content across the Noteable service has been tested without a mouse through keyboard navigation and has been found to be accessible using a keyboard interface. Note that the Jupyter and RStudio applications generally "tab" to navigate between sections, and "arrow key" within menus.
Using Windows 10 [Home Edition], We
- visually compared all pages using Firefox, Chrome, and Edge
- tested all pages using NVDA screen reader in Chrome and Edge (again, noting that the Jupyter and RStudio interfaces are complicated apps for a Screen Reader to address.)
- tested all pages using the Windows magnifier tool
Using MacOS X [Big Sur], we
- visually compared all pages using Firefox, Chrome, and Safari
- tested all pages isung the built-in voiceOver screen reader (again, noting that the Jupyter and RStudio interfaces are complicated apps for a Screen Reader to address.)
Using Linux [Linux Mint 22 LTS], we visually compared all pages using Firefox and Chrome, and used Polypane to compare rendering across multiple screen sized simultaniously.
We also tested for the following:
- spellcheck functionality
- scaling using different resolutions from –25% to +500%
- options to customise the interface (magnification, font, background colour et. cetera)
- notice of links to new window or tab when navigating the service
- information conveyed in colour or sound only
- Flashing or scrolling text
- time limits
Our findings on these features are summarised above.
Changes since the previous statement
December 2024
Update all review and testing to WCAG 2.2
There was a major jump in both the Jupyterlab and RStudio services.