Code Monkey home page Code Monkey logo

a11y-research's People

Contributors

jbphet avatar jessegreenberg avatar terracoda avatar zepumph avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

a11y-research's Issues

a11y testing tools

There are some pretty good a11y testing tools out there, it would be nice to try running them with our sims. Testing could flag issues well before we go through user tesitng and save a significant amount of time. Here are a few notable ones:

https://achecker.ca/checker/index.php

  • Created by the IDRC!
  • Checks single HTML pages for conformance to accessibility standards.

http://wave.webaim.org/

  • Created by Web AIM
  • Is a visual tool that puts icons on the visual page
  • Checks single page HTML pages, and has an API
  • @terracoda has only ever used the single page

http://www.deque.com/products/axe/

https://tenon.io/

  • Lead by a developer from the Paciello group
  • @terracoda said this tool catches the most in her experience
  • Has API for automated testing and continuous integration
  • Very highly regarded
  • Offers consulting and support
  • Not a free service, but has a free trial

@jessegreenberg, I added WAVE to the list above.

Test button events for various user agents

It would be nice if we could style sun/joist/scenery-phet buttons when the user is pressing the keyboard key. The button should look 'depressed' when 'enter' or 'space' bar is down, and look 'flat' when the key is up.

Most user agents do not give the browser 'keyup' and 'keydown' events during interaction with a button, but intercept them and submit a single 'click' event. In this case we cannot style the button.

We should determine where this is true, and what events are actually passed to the browser. It might be the case that we can style the buttons during keyboard interaction without a screen reader.

This would be more difficult if the user agent provides the button with a 'keydown' and 'click' event, but never a 'keyup' event or something like that. (Once pressed, the button would always look pressed)

Determine list of supported platforms for accessibility

It would be good to have a list of platforms that we must support. This will define what needs to be covered by QA testing, and also help narrow down scope for investigating solutions to bug reports and new features. For instance, in phetsims/balloons-and-static-electricity#205 do we need a solution that works with VoiceOver for Sierra, Yosemite, and El Capitan? Do we need to support old versions of JAWS and NVDA or can we just support latest?

@terracoda and @emily-phet what platforms should we support?

We have a 'testing matrix' that defines what platforms should be tested for our normal sims. It would be great if we had something like this for accessibility.

https://docs.google.com/a/colorado.edu/spreadsheets/d/1vk0QUOOOj_Jr4ePVgwiQ5L7HOsvgor7jkbNYqmCVWnQ/edit?usp=drive_web

General teacher tips for accessibility

With a simulation about to be published, we should think about Teacher tips or other documentation for these features.

phetsims/john-travoltage#251 illustrated why this would be helpful. In that case, there is a particular user setting for Safari that needs to be enabled for keyboard navigation to work.

@emily-phet who should begin looking into this or preparing content?

Improvements to the PDOM view

The PDOM view is a copy of the PDOM which is rendered alongside the simulation (which is in an iframe) so that the accessible content can be seen. This is useful for feature demonstrations and debugging. There are some improvements that could be made to this view.

Improvement suggestions were first put together in phetsims/balloons-and-static-electricity#190. That issue documents some stylistic changes that would make different portions of content easily distinguishable. It would also be nice to somehow show the inline ARIA attributes, which by default are not rendered by the browser. As we look at this more carefully, there are likely other improvements that could be made.

@emily-phet could you please comment on the priority of these improvements?

Investigate VO utility settings and their effects

VoiceOver (VO) has many settings. I have posted a subset here. Adjusting the settings can drastically affect what live region content is spoken aloud and how much VO information is spoken aloud.

At some point I adjusted my settings to the point where I silenced "interactive alerts" (descriptions in live regions), rendering the sim unusable for testing on my machine. Today, I was carefully adjusting my settings again, and some how I turned "interactive alerts" back on again.

In this issue, I hope to investigate VO settings more deeply.

I am posting screen shots of my settings. I will add comments as I understand them better. @jessegreenberg, @emily-phet, @jobara, @jhung, you may want to compare your settings, or share how you have adjusted them?

General settings were left at default.
vo_general

Verbosity settings has 4 categories: Speech, Braille, Text, Announcements and Hints
Speech at Medium seems to work well. High is the default. If I knew Braille, it likely makes sense to use the same setting for Braille. The default is high. I'm not including a screenshot for Braille.
vo_verbosity_speech_medium

There are many Text settings. I don't understand them all. I reduced repetition, punctuation and added some pitch settings.
vo_verbosity_text_changed_some_things

Announcements
vo_verbosity_announcements_adjusted

Hints - I reduced hint delay
vo_verbosity_hints_sshort_delay

Navigation settings. I think I left these at the default settings.
vo_navigation_defaults

Web - Navigation setting must have Live Regions enabled.
vo_web_navigation_live-regions-enabled

Teacher Survey - Review

@ariel-phet @kathy-phet
As part of the collaboration with Georgia Tech, we will be sending a survey out to the teachers regarding their use of PhET sims, and potential barriers or challenges they have with regard to sim use.

We would like to finalize this survey by April 18th, send out to a small number of people, refine, and send out to the PhET email list of teachers (and social media, etc.) on April 24th.

The idea is to send out a more general initial survey, and collect emails of those who would be specifically interested in follow-up surveys. Later we will ask more specific questions about technical access and use by students with disabilities to those who "opt in" to getting a follow-up survey.

Please take a look at our latest draft, and edit/comment as you see fit. If you could give your feedback by Friday, April 14th, that would be ideal.

Submit report to zoom regarding missing acccessibility features

Zoom is not easily accessible for remote interviews. Zoom claims to be committed to accessibility (https://zoom.us/accessibility) and should be notified why they are inaccessible for our needs.

Should they investigate our report, we might have a way to conduct remote interviews without relying on PhET-iO, which has proven to be challenging (see #2 (comment))

@emily-phet @terracoda could you please write in this issue what the problems are with Zoom that make it inaccessible? We can then submit a report to them.

Document the steps to make a sim accessible

It would be good to have a central document, similar to 'how-to-instrument-a-simulation-for-phet-io.md` (but perhaps less verbose) about the steps needed to outfit a sim. This process will take time to refine and iterate, so it's good to get started now. @jessegreenberg and I are starting from the beginning with build-an-atom, so this seems like a great place to start.

Submit bug report to Apple for keyup events with physical keyboards

From phetsims/balloons-and-static-electricity#164 and phetsims/john-travoltage#118.

When a some physical keyboards are used with Apple devices, the keyup event is fired with keycode = 0 incorrectly = 0. For complex keyboard interactions (pressing and holding behavior and tracking multiple key presses at once) keyup is required.

In addition, some standard HTML elements cannot be used with a physical keyboards on apple devices. <input type=range> does not work.

The errant behavior can be observed here: https://jsfiddle.net/25ejnztt/1/

A bug report should be submitted to Apple concerning this issue.

https://developer.apple.com/bug-reporting/

Determine best wording for the Reset All alert

In github issue phetsims/scenery-phet#291, @jbphet had a concern about the wording of the Reset All alert, and suggested we change it from:

  • "Sim screen restarted. Everything reset." to
  • "Simulation screen has been reset."

At the PhET/IDRC Meeting (March 14) there was some agreement that this was a good change, but upon closer review @emily-phet and @terracoda would prefer not to change it.

This issue is to clarify pros and cons of the two versions, and to determine the best wording for the Reset All alert.

A11y semantics for home screen and bottom navigation bar

@emily-phet and @melbanyard met yesterday to discuss the related interaction between the home screen and the bottom navigation bar in multi-screen sims. We need to think about the home screen, multi-screen sims, and the bottom navigation bar together to see how to optimize the interaction for multiple screen sims.

I mocked up two not so clean html pages representing the Home screen and the Atom screen for Build an Atom. The Atom screen is using the the aria toolbar role for the bottom bar and not a the region role as discussed earlier.

Using Build and Atom as an Example:

Unfortunately, the sample toolbar.js did not work for me out of the box, and the toolbar.css is not loading. I will need help to get a real sample toolbar interaction implemented.

You have to tab through the buttons in the examples. There is no special tab index management working.

This issue is related to issue #25.

Using a template for an example

aria test: aria-disabled

This repo might be a good place to document the current behavior of aria attributes and roles. This issue is the first.

Testing the behavior of aria-disabled, which behaves like:

Indicates that the element is perceivable but disabled, so it is not editable or otherwise operable. See related aria-hidden and aria-readonly.

For example, irrelevant options in a radio group may be disabled. Disabled elements might not receive focus from the tab order. For some disabled elements, applications might choose not to support navigation to descendants. In addition to setting the aria-disabled attribute, authors SHOULD change the appearance (grayed out, etc.) to indicate that the item has been disabled.

The state of being disabled applies to the current element and all focusable descendant elements of the element on which the aria-disabled attribute is applied.

(https://www.w3.org/TR/wai-aria/states_and_properties#aria-disabled)

Publication of John Travoltage w/ Keyboard Nav & Screen Reader Access

Remaining to-do list:

Development:

  • Final Round of User Feedback
  • Ensure PhET menu is accessible
  • Code review (JO?)
  • QA testing (Steele)

Sim Design:

  • KeyboardHelp Button & Popup

Website Updates:

  • Accessibilty Icons
  • Accessibilty Filtering Options
  • Sim page - Accessibilty dropdown - features & use info
  • Help Center a11y features info

Test accessible drop down menu

For accessibility, the PhET Menu should behave like a Dropdown menu. This is different than a Dialog in that there is no close button, it does not restrict navigation, and the menu will close once the user leaves the menu.

Here is an example:
https://staff.washington.edu/tft/tests/menus/simplyaccessible/index.html

In that example, the drop down menu is represented as:

<div role="navigation" aria-label="Main menu">
	<ul class="nav" role="menubar" aria-hidden="false">
		<li role="menuitem" aria-haspopup="true">
			<a href="">About</a>
			<ul data-test="true" aria-hidden="false" role="menu" class="show-menu">
				<li role="menuitem"><a href="" tabindex="0">News</a></li>
				<li role="menuitem"><a href="" tabindex="0">Governance</a></li>
				<li role="menuitem"><a href="" tabindex="0">Diversity</a></li>
				<li role="menuitem"><a href="" tabindex="0">ContactUs</a></li>
			</ul>
		</li>
		<li role="menuitem" aria-haspopup="true">
			<a href="">Academics</a>
			<ul data-test="true" aria-hidden="true" role="menu">
				<li role="menuitem"><a href="" tabindex="-1">Degree Programs</a></li>
				<li role="menuitem"><a href="" tabindex="-1">Faculty</a></li>
				<li role="menuitem"><a href="" tabindex="-1">Distance Learning</a></li>
				<li role="menuitem"><a href="" tabindex="-1">Libraries</a></li>
			</ul>
		</li>
		<li role="menuitem" aria-haspopup="true">
			<a href="">Admissions</a>
			<ul data-test="true" aria-hidden="true" role="menu">
				<li role="menuitem"><a href="" tabindex="-1">Undergraduate</a></li>
				<li role="menuitem"><a href="" tabindex="-1">Tuition</a></li>
				<li role="menuitem"><a href="" tabindex="-1">Financial Aid</a></li>
			</ul>
		</li>
		<li role="menuitem" aria-haspopup="true">
			<a href="">Visitors</a>
			<ul data-test="true" aria-hidden="true" role="menu" class="">
				<li role="menuitem"><a href="" tabindex="-1">Events</a></li>
				<li role="menuitem"><a href="" tabindex="-1">Campus Map</a></li>
				<li role="menuitem"><a href="" tabindex="-1">Parking</a></li>
			</ul>
		</li>
	</ul>	
</div>

It should be tested with screen readers. There are a few comments on the example page that suggest there could be a few issues like

The arrow keys work great without a screen reader, but if JAWS is running it seems to intercept keystrokes and not release them to JavaScript.

The original menu (Option 6) doesn't work as well as I would expect it to with screen readers.

Possible use of Team Viewer for Remote Interviews

Need a way to record audio (a must) and screen (not required, but ideal) during remote interviews - with minimal effort on the user's part.
In this Team Viewer video ("Online Meetings") it shows how to start a presentation, and add a user. If following this example, it is easy for the user to also share their screen, this looks like the closest use case to our needs. Need to double check that we're clear on:

  1. What user needs to do to access meeting
  2. That user can take over presenting
  3. That doing this is accessible

Note: We would only consider this option with a user that approved screen recording, and that was able to relatively quickly set up Team Viewer on their end. If this isn't possible in about 5 minutes or less, we'll use a different (no screen recording) option.

a11y semantics for PhET navigation bar

From #13, @terracoda added some information about the semantics for PhET's navigation bar. Here is the content, copied from that issue:

I updated a sample html template for the sim’s bottom bar.
I used a footer element instead of a tool or menu bar. This might be more reliable and provide a nice landmark.

I've used some nav elements with aria-labels, so it sounds pretty good in Voice Over, but it’s still quite rough. The PhET Menu buttons are not being read out yet (when expanded), and are not navigable with arrow keys (when expanded), so I think I have done something wrong there. I've adapted some tips from Pickering's Inclusive Design Patterns.

Also, I am not 100% sure if sim screen navigation should go inside or outside this footer. This decision does not have to happen immediately, but soon.

The sample template is in my own repo at this link:
https://github.com/terracoda/phet-templates/blob/master/a11y-menu-template.html

@jesse, also, is this the active issue for this topic, or is issue #12, the proper place?

Note: Pickering has an nice pattern for using SVG on the button icon. I haven't included that as we likely do not need it in the hidden PDOM. It might be useful for other situations, though.

Note: I moved my HTML mock-ups to the A11y-Research repo. New links are:

Discuss HTML structures for Ohm's Law PDOM

A very basic PDOM for Ohm's Law is available here: ohms-law-pdom.html

Adding succinct version:
ohms-law-pdom-succinct.html

This example is completely static. The highlighted bits of content represent dynamic parameters in the sim.

This issue is to discuss ideas or improvements to this initial structure.

One question in particular is how best to represent the equation and the circuit.

@emily-phet, @jessegreenberg, @zepumph , and more can comment. Need to find everyone's handles.

Investigate visual representations for focus and grabbed states

We may need to discuss in more detail how to best communicate the visual difference between the focused and grabbed states during keyboard interaction.

Though this issue is directly relevant to Balloons and Static Electricity I'm putting this issue here as the discussion and decisions will help us with other sims which have focused and grabbed states.

Related design issues:

Identify challenges for charge view descriptions for Balloons and Static Electricity

The Balloons and Static Electricity sim has thee different views for charges:

  1. Show all charges (default)
  2. Show no charges
  3. Sow charge differences

We have described the first view (all charges) using relative amounts (none, a few, several, many). Beginning to explore design questions for describing the other 2 views in this google sheet. I will post questions for discussion in this issue.

Note that views 2 and 3 may be most relevant for teachers.

Edge bug: child of hidden element not added to DOM when parent is un-hidden

This bit me hard today - still not sure what is going on here. phetsims/john-travoltage#221 was the original issue.

When the "Keyboard Help Dialog" is opened with the keyboard, the "Keyboard Help Button" is removed from the focus order in Edge.

The parent of the button is the footer and it gets hidden correctly when the dialog opens. But when we try to set focus to the keyboard help button again, Edge won't focus it, and the button remains out of navigation order. Neither the button nor any of its ancestors is hidden or aria-hidden or has tabindex=-1.

It is almost like Edge isn't adding the button back into the DOM after removing the hidden attribute from the parent element. Explicitly setting hidden to false on the child elements fixes the problem.

If we can reproduce in a test case we should submit a bug report to Edge.

Scenery, nesting hierarchies and accessibility

@jonathanolson, @jessegreenberg and I have been discussing the semantics of the the Sim's bottom bar in a few issues, but mainly in this one #25.

For accessibility, the hierarchical nature of HTML provides a reliable and robust way to create relationships between certain elements, and it does so quite easily.

For fuller code examples see example in #25 (comment), and #25 (comment)

Basically, we would like to be able to nest the list that PhET Menu button controls inside the bottom bar closer to the actual button:

<!-- Design pattern adapted from Pickering's menu button.-->
<nav aria-label="Sim tools and links">
  <button aria-expanded="false">PhET Menu</button>
  <ul hidden>
    <li>list of menu items</li>
  </ul>
</nav><!-- end PheT Menu Nav -->

In Scenery, we can't easily put the button and the hidden menu inside the nav element inside the parent bottom bar container.

ARIA features such as aria-controls are meant to create relationships between elements when there is not clear relationship in the DOM (PDOM in our case) in cases exactly like this; however, it is not yet well supported by AT. See the 2016 article, aria-controls is poop.

@emily-phet suggested I ask you about how difficult or easy it might be to build some more nesting capability into Scenery?

It would be nice to have your thoughts. No rush on this issue at the moment.

Do you have any thoughts on this?

Explore Interaction Pattern for Listboxes and Action Toolbar in Build an Atom

Here's a possible interaction pattern playing with particles in My Atom's regions. The three regions and the particle buckets are marked up as 4 listboxes (see current Parallel Dom for the HTML being discussed in issue #43).

The user would use available action buttons for taking actions on selected listbox items (e.g., grab, select positions in regions, move within a region, and delete).

We could customize to simplify, using some of the strategies already mentioned, however,
I'd like to see how it works with a purely native approach.

Should I copy what I have from the design document section Idea 2 Interaction Pattern? Or just link to the design document?

@zepumph , @jessegreenberg , @emily-phet let me know what you think about these interaction patterns.

handle events when focus is changed programatically

We ran into this in phetsims/build-an-atom#150, but we are sure to run into this again.

If a user action triggers programmatic setting of focus, to a new element, it can cause listeners attached to the blurred/focused elements to be triggered incorrectly.

For instance, say you have the following:

nodeA.addAccessibleInputListener( {
  click: function() {
    // do some stuff
   nodeB.focus();
} );

nodeB.addAccessibleInputListener( {
  keydown: function() {
    // do some other stuff
    nodeA.focus();
} );

When nodeB gets the keydown event, nodeA is focused. Since the key is still down, nodeA receives the click event immediately, and the callback will be unintentionally fired again.

Our workaround for now is to add a timeout that prevents nodeA from being focused until the key is fully up, something like

        setTimeout( function() { nodeA.focus(); }, 100 );

Is there a general way to handle this issue that doesn't involve a timeout?

Build an Atom Parallel DOM HTML Mock-up

I've committed a draft Parallel DOM for Build an Atom.

Is there a way to host it on github, so people can see the rendered page and not just the code?

Code is here:
https://github.com/phetsims/a11y-research/blob/master/html-sketches/build-an-atom/baa-pdom.html

Main features in this BAA PDOM

  • aria listboxes marked up with HTML headings and lists with the role="listbox".
  • accordions for the "Details About My Atom" marked up with the HTML details element.

@zepumph, @jessegreenberg, @emily-phet comments welcome.

EDIT from MK:

Hey look what I found! It renders it through github.

http://htmlpreview.github.io/?https://github.com/phetsims/a11y-research/blob/master/html-sketches/build-an-atom/baa-pdom.html

VoiceOver reading things out of order

@terracoda I am noticing that in BASE, VO is reading the play area, then the scene summary, then the control panel, but the DOM looks like
screen shot 2017-08-04 at 3 34 35 pm

Do you know if this is a VoiceOver setting that is reading things in the region out of order? Or is something else going on?

labels for browser/AT bug reports

From meeting on 6/9/17, this repository will collect bug reports to be sent to browsers/AT. For organization, labels would be helpful to see issues related to this.

We already have labels:
dev:a11y
dev:sonification
design:a11y
type:bug

scenery repository has labels
scenery:to-submit-browser-bug
scenery:browser-bug

For third party a11y bugs, what about something like
a11y-research:platform-bug

platform-bug term includes both screen reader and browser. And having only one label for all bugs makes searching easier since that label can be searched or clicked on to see the list of all platform bugs.

Thoughts @emily-phet @terracoda @zepumph?

Complete feature checklist

Related to #7 as we might want to have an accessibility feature checklist as we prepare to deploy accessible john-travoltage. @emily-phet started a draft checklist here:

https://docs.google.com/document/d/1jYx3wxNRxHHpMigxSFVvCRVFdB5-E-3_xbj9UI9uvWE/edit

From phetsims/scenery#299, @samreid found another checklist from http://w3c.github.io/aria-in-html/#custom-control-accessible-development-checklist:

  • focusable Can you get to the control via the keyboard? Refer to Providing Keyboard Focus
  • operable Can you use the control with the keyboard? Refer to Keyboard Navigation
  • expected operation Can you use the standard keys for the control type to operate it. Refer to ARIA Widget Design Patterns
  • clear indication of focus Can you easily see it when the control has focus? Refer to Visible Focus (WCAG2)
  • label The control has a text label that is exposed as an accessible name in accessibility APIs
  • role The control has an appropriate role exposed in accessibility APIs
    states and properties The control has any UI states and properties that it has exposed in accessibility APIs
  • color contrast The control label/description/icon is perceivable/usable for low vision users (Use a color contrast checker.)
  • high contrast mode The control is perceivable/usable when High Contrast Mode is enabled (e.g. Windows HC mode)

[VO] unicode "Minus Sign" not read when used in aria-valuetext

Unicode values are read inconsistently when used with aria-valuetext.
JSFiddle that isolates this problem: https://jsfiddle.net/s8m2spxc/3/

This was investigated and found in phetsims/john-travoltage#238

Part of the problem is that different VoiceOver voices read things differently.

Testing with voice "Karen" -

When focus lands on the first slider (using '\u2212' - "Minus Sign"), "Karen" reads the "Minus sign". When changing the value on that slider, the minus sign is never read.

When focus lands on the second slider (using '\u002D' - "hyphen-minus"), "Karen" does not read "Minus Sign", but when the value changes, the minus sign is read.

Testing with voice "Alex"

We have the exact same behavior as above, but when changing the value with '\u2212' - "Minus Sign" in the aria-valuetext, the unicode value "Minus Sign" is read.

Using the default voice works fine but any other voice doesn't read unicode "Minus Sign" when used in aria-valuetext.

Investigate relabeling of items in PhET Menus

Based on Dec 5 meeting with @emily-phet and @jessegreenberg regarding the accessibility of the Sim Navbar, it was suggested that several items be made into buttons and be relabeled with clearer text. We basically have a list of buttons (items that do things) and links (items that go places).

Current Menu Sample

  • Options... (Opens options dialog with checkboxes)
  • PhET Website... (Link)
  • Report a Problem... (Link)
  • Screenshot (Takes a screenshot)
  • Full Screen (Goes into full screen mode)
  • About… (Opens dialog with details about this Sim)

Draft Order, Labels, and Text to Discuss

  • Options (Opens options dialog with checkboxes) [Button]
    • View options for this sim.
  • Take a Screenshot [Button]
    • Take and save a screenshot of the sim.
  • Full Screen [Button]
    • Use the sim in full screen mode.
  • About this Sim [Button]
    • Design details about this sim.
  • Report a Problem [Link]
    • Please let us know if you find a problem.
  • PhET Website [Link]

Questions

  • What do people think of the labels and help text above?
  • Do we need help text?
  • Do we need headings to label the menubar, and or the PhET Menu?

Link to keyboard shortcuts in scene summary

In the scene summary for a few sims I have seen a bullet that looks like

If you need to, check out the <a>keyboard shortcuts</a> for this sim.

The keyboard help dialog is typically opened with a button that just toggles its visibility. Is this shortcut necessary? If so can it be a button? If a link, is it OK if there is no destination?

Prepare for recording audio + video for Balloons and Static Electricity Interview

From #1 we decided to investigate recording html5 audio from the microphone and combining that with some way to record the simulation:

  • scenery input events would require addition of support for recording and playing back parallel dom events
  • or we could phet-io instrument the simulation and record states, then write a script that does playback based on states.

I volunteered to help on this, noting that my time is somewhat tied up for the near future. It was suggested that @jessegreenberg help out as possible.

It looks like a good place to start investigation with the audio will be https://webaudiodemos.appspot.com/AudioRecorder/index.html

I'm marking this as high-priority to put it on my todo-list, and because @emily-phet said it would be helpful if it was available soon.

[IE11 + JAWS] Performance on html input of type range is bad

Found in phetsims/john-travoltage#242 by @phet-steele. His write up is great, so I am moving the documentation here:
Use this as an example case with the below steps: https://jsfiddle.net/1j1y3s8p/

First problem:

  • Start with the slider at -7

    • Pay attention to the speed of the slider during this step. Hold the right arrow key down until halfway, then release. When holding, you will see the slider tick along relatively slowly.
    • After release, the slider will rapidly move right.
  • Second problem:

    • Make sure you are now at the max of the slider (also this works at min), hold the right arrow key down for a short time (or left key if you are at min, try 3 seconds). Too long and you may crash JAWS.
    • After releasing from hold, press the left arrow key once. There will be a decent delay until the slider actually decrements to -6.

Should we use the global accesskey attribute?

@terracoda @emily-phet, Last week @jobara and I found and tested an attribute called accesskey that might let us provide global hot keys to activate links and buttons:

http://www.w3schools.com/tags/att_global_accesskey.asp

The idea is that with a modifier key, you can activate a form element (like the Keyboard Help button) with a hot key no matter where focus is in the document.

@jobara and I tested this and it worked well on all AT/platforms.

The catch is that the modifier keys are slightly different for each browser, which might make it tough to document in the Keyboard Help Dialog. (see the table in http://www.w3schools.com/tags/att_global_accesskey.asp).

Is this something you would like to use?

CSUN 2016 Manuscript

@taliesin - I'm just wrapping up a book chapter this week. Please let me know when you'll be progressing the manuscript for CSUN, so we can coordinate. Looks like it's T-20 days to the due date!
Note - please send any outline/draft/specific details by email. I just wanted to open an issue about this for progress tracking.

Investigate and discuss ARIA 1.1 changes relevant for sim interactions

Issue to discuss ARIA 1.1 additions and changes that might be helpful for us:

For example,

New properties aria-roledescription, aria-keyshortcuts, aria-placeholder, aria-current , aria-modal.

I am especially interested in aria-roledescription. I am thinking we can use this property to replace the screen reader utterance, "Application" with something more meaningful like, "Yellow Balloon Grabbed," as the user activates the application role upon pressing the "Grab Yellow Balloon Button".

There's a handy Change Log for ongoing changes to the new specification.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.