User tests: Successful: Unsuccessful:
Integration of the great accessibility plugin by PayPal Accessibility Team and University of Illinois
SkipTo is a replacement for your old classic "Skipnav" link, (so please use it as such)! The SkipTo script creates a drop-down menu consisting of the links to the important places on a given web page. Once installed and configured, the menu makes it easier for keyboard and screen reader users to quickly jump to the desired location by simply choosing it from the list of options.
The SkipTo menu becomes visible the first time the user tabs into the page.
Once the keyboard focus is on the menu, pressing the ENTER or the SPACEBAR key will pull down the list of high-level headings and landmarks on the current page.
Use arrow keys to select your choice and press ENTER to skip to it.
If you decide to reach the menu again, simply press the built-in access key (0 by default).
Obviously added the ability for the strings to be translated
In the plugin you have the option to enable this navigation aid on Site/Administrator/Both - The default is admin
By default, SkipTo menu will include the following places on the page:
Heading (e.g h1, h2, h3 and h4 elements).
ARIA landmarks (e.g. banner, navigation, main and search).
HTML5 Section Elements (e.g. main, section[aria-label], section[aria-labelledby]
The “access key” is set to 0.
The menu is set not to wrap.
The menu is visible on keyboard focus only
The above are configurable but I have not exposed the configuration to Joomla - but can do. I just think the complicate things and the defaults are fine
Testing will require a full npm install
Thanks to @wilsonge for getting me over the final hurdles
Status | New | ⇒ | Pending |
Category | ⇒ | SQL Administration com_admin Postgresql Language & Strings Repository Installation NPM Change Front End Plugins |
Labels |
Added:
?
NPM Resource Changed
?
|
Thank you for this plugin. I just tested it. I noticed the following:
API Authentication - Basic Auth
. I installed System - Skip-To Navigation
.SkipTo menu
, I get this error.SkipTo menu
. Here I find, that h4
should be included. But Most read Posts
are not included in the next picture.Sorry my original post is incorrect - the default settings are h1, h2, h3
We can add h4 if we want to
Based on #20563 (comment), no. As long as you set them in the plugin code.
Thanks, now the review starts
Just asking that you fix copypasta errors. Can't return false
here because onBeforeCompileHead()
has void
return type. This is a PHPCS error (Drone is sleeping). Application object is available as class property (but not in TFA plugins) so no need to fetch it the second time.
nav
tag to mark it as a landmark.role="complementary"
is not correct. Use the navigation
role.title
attribute use the aria-label
attribute1,2,3 come directly from the script by the experts at PayPal Accessibility Team and University of Illinois
4 is a template issue and nothing to do with the plugin
1,2,3 come directly from the script by the experts at PayPal Accessibility Team and University of Illinois
Does this mean that these elements cannot be improved?
If you disagree with them then submit an issue to their GitHub repository
Not only do I disagree. In 2017 PR was reported, which added the possibility of configuring the attributes of role
and aria-label
.
The attributes: role
, aria-label
, title
are configurable. There is no need to change the script. Just change the configuration.
Next steps? Are you planning to enrich your plugin with configuration options? Are you waiting for tests?
The plugin works according to the following assumptions.
@brianteeman Given the options do seem to already be there as @zwiastunsw points out shall we get them included in here
when i get the chance to I will add support for all configurable options
@SharkyKZ I have made all the changes you requested except for the language one which is there because of a bug elsewhere in core so I added a todo
@zwiastunsw
role is now navigation
title is removed
aria-label is used instead of title
I am not sure I understand what you are looking for with
SkipTo menu is the navigation area. Use the nav tag to mark it as a landmark.
I can't decide if we should expose the ability to allow the user to edit the following
Heading (e.g h1, h2, h3 and h4 elements).
ARIA landmarks (e.g. banner, navigation, main and search).
HTML5 Section Elements (e.g. main, section[aria-label], section[aria-labelledby]
The “access key” is set to 0.
appveyor failed with
fatal: unable to access 'https://github.com/joomla/joomla-cms.git/': Could not resolve host: github.com
are you going to say why?
are you going to say why?
//IE8 fix:
I was told NOT to change the code
That's then the reason you're looking for. You're simply adding technical debt here which is totally unneeded. We don't care for IE < 11 we shouldn't drag scripts that patch things for dead browsers...
Also, the fact that almost all functions have a patch for IE8 indicates clearly that this script is not up to date or maintained or what is my point of view that it will be maintained for the next 4-5 years that Joomla 4 will be out there...
All and all I am not against a skipto but let's do it properly, at the end of the day all there is here are some DOM manipulations nothing that even a JS noobie can't do...
I would rather use working code (that can always be improved later) than wait for someone with JavaScript skills write a working solution.
You might find JavaScript easy to write. I certainly don't or I would have fixed the password strength and switcher js which are totally not accessible.
I would rather use working code
That's why Joomla is a mess, everything is important and needs to be implemented right now, no matter what the technical debt that it introduces. Sorry I totally disagree here...
I would have fixed the password strength
Well, I had a PR standing there for 3 months and finally, @wilsonge said "no new custom elements". I'm not a magician, I do my best but I can't fix something if people don't merge my stupid code...
@zwiastunsw Can you retest this please
I have tested this item
I can't decide if we should expose the ability to allow the user to edit the following ....
In my opinion it is not necessary. Theplugin has to do exactly what it does. Adding configuration options will only make the system operation more complicated.
Status | Pending | ⇒ | Fixed in Code Base |
Closed_Date | 0000-00-00 00:00:00 | ⇒ | 2019-03-26 10:34:22 |
Closed_By | ⇒ | wilsonge |
Thanks guys!
Thanks for testing and merging. If we ever get a new admin template this will be essential for testing it
@brianteeman see brianteeman#78 for SQL fixes.