? ? Pending

User tests: Successful: Unsuccessful:

avatar brianteeman
brianteeman
25 Mar 2020

Multiple improvements for accessibility to the extension update sites view

  1. Removes unnecessary popover
  2. Adds "open in new window" to website link for screenreaders
  3. Removes clickable link from title when the update doesnt support download keys
  4. when you have scope=row it should be th not td

and on the update site view

  1. changes h1 to h2 - you cant have two h1
  2. add fieldset to the markup to provide white background

Testing Instructions

It is easier to test with an extension that supports download keys. Luckily @nikosdion provided one

First, install this fake "paid download" extension: Null Files 1.0. This is a fake extension which creates a .txt folder in your site's temp-folder and, crucially, creates an update site that requires a Download Key to work. Without the download key it returns a 403 error, just like paid extensions.
Don't worry, no payment is necessary for this fake extension. The Download Key for this extension is PizzaBugsAndFun2019.

avatar brianteeman brianteeman - open - 25 Mar 2020
avatar brianteeman brianteeman - change - 25 Mar 2020
Status New Pending
avatar joomla-cms-bot joomla-cms-bot - change - 25 Mar 2020
Category Administration com_installer Language & Strings
avatar brianteeman brianteeman - change - 25 Mar 2020
Labels Added: ? ?
avatar Quy Quy - test_item - 25 Mar 2020 - Tested successfully
avatar brianteeman
brianteeman - comment - 26 Mar 2020

In the Update Sites page have a Download Key text field with an attached "Update Download Key" button in the list view for the entries which are missing a Download Key.

This would be much better. Having read only forms which display nothing more than already on the list view is just plain wrong.

I do not agree with the need for popover as they are not accessible.

I do not agree with writing documentation in the ui

avatar nikosdion
nikosdion - comment - 26 Mar 2020

@brianteeman I disagree with BOTH removing all popovers AND using only popovers. Neither solution is valid. They are both making Joomla inaccessible to a number of its users.

For users who do not need accessibility accommodations (apologies if I'm using the wrong / offensive term; I have no idea what to call it in English) popovers and tooltips reduce frustration. They are a reminder of what this option does. It's much easier hovering over a label to refresh your memory (or realize you need to RTFM after all) rather than trying to work the interface with a help page open next to it.

For users in need of accessibility accommodations popovers are horrible. I don't know what is the best option since I lack experience and there is ZERO guidance from the Joomla a11y team. Aria labels? Help text? If someone could please come up with something usable I'd like to use it in all core code I contribute AND my own software, thank you very much.

In any case, having one instead of the other does the other group of people a disservice. Making Joomla inaccessible for sighted people is just as bad as making Joomla inaccessible for blind and hard of sight people (or people using voice / switch control etc).

PS: The Update Sites form is not read-only. At the very least you can choose whether to publish the update site. For update sites supporting Download Keys you also get the DL key interface. Also, in some cases read-only forms DO have a value but, arguably, that's in the front-end, not the back-end. For example, the user profile or details for a subscription which don't always make sense to present in a list view, especially on mobile.

avatar conconnl
conconnl - comment - 4 Apr 2020

The patch does exactly what you describe.
I sort off have the same concern as nikosdion, removing the tooltip just makes it worse for the people who don't need accessibility.

Removing the "Edit update site" & "Download key" tool tip is not something I would do. (I'm not a specialist).

image

At the same time the other tool tip still exist.
It probably holds the description, why showing the description in a tool tip and removing the explanation?
image

The rest of the changes seem very logical to me.

avatar brianteeman
brianteeman - comment - 4 Apr 2020

for the people who don't need accessibility.

Everybody needs accessibility - until we change your mindset we will never be all together

avatar conconnl
conconnl - comment - 4 Apr 2020

for the people who don't need accessibility.

Everybody needs accessibility - until we change your mindset we will never be all together

That statement is exactly my point.
You are removing tool tips, which doesn't make things more accessible for people who can see.
You are saying you make it more accessible for everyone, while the opposite happens with this change.

.....
The patch works, it doesn't matter if I agree or not as a simple user.

avatar brianteeman
brianteeman - comment - 4 Apr 2020

so you have no problem using a popover on a touch device - that's awesome

avatar nikosdion
nikosdion - comment - 4 Apr 2020

Everybody needs accessibility - until we change your mindset we will never be all together

Brian, nobody disagrees with that – except YOU!

A user would be confounded by the "The Download Key is missing" message and would have no idea what to do next. There are two solutions to that.

One, document this. However, documentation is meant to be additional, in-depth information. It's not meant to be a requirement for using the software.

Two, give them a hint in the user interface. The way that Joomla currently does that is a popover which I agree is not accessible and I never disputed that fact.

What I am objecting to is your tone deaf approach to accessibility which is "if I can't make this information accessible for everyone I will make it inaccessible for everyone". How the heck does that help ANY of our users?

so you have no problem using a popover on a touch device - that's awesome

Of course I don't have a problem. I am not stupid. The past ten years activating popovers on a touch device has been a case of long pressing.

But that's not even the point. The point is that INSTEAD OF making information accessible to everyone you are simply removing it because you are incapable of finding an alternative.

Nobody disagreed with removing the popovers AS LONG AS there is a viable alternative. Instead of coming up with a viable alternative you are trying to prove that everyone but you is an idiot who doesn't care about accessibility. Sorry, buddy, we DO care about accessibility and we DO care about user experience. It's YOU who isn't practicing what you're preaching.

avatar brianteeman
brianteeman - comment - 4 Apr 2020

This is what assistive technology sees when you have a popover

image

Everytime I try the long touch trick I get

image

avatar nikosdion
nikosdion - comment - 4 Apr 2020

So, instead of addressing my usability concerns, or commenting on the viable and accessible alternative that I provided nine days ago, you are focusing on made up points trying to prove that I don’t know what I’m talking about. I see.

The reason you have a problem with Windows is that Windows does not provide information to the browser that it is actually using a touchscreen. This is a Windows problem. Real touchscreen enabled operating systems do not have that problem.

In any case, I have only used popovers because this is what Joomla! has consistently been using in the ui for the last eight years. You are the person who is usually bitching our developers out for not following Joomla!’s already established user interface patterns. Being shouted at for following the established patterns would be hilarious if it wasn’t so absurd.

In case this is not immediately obvious, I have already said that the popovers need to be replaced. I have provided a solution. Do you agree with it or do you have an alternative to that. I do not except straight up removing stuff from the interphase, making it harder to use, as an even remotely viable alternative. This is incredibly bad user experience and you, of all people, should know better!

If you are willing to hold a rational discussion about finding a viable alternative please address my usability concerns and comment on the alternative solution that I provided nine days ago. If you’re not willing to hold a rational discussion please stop commenting and close this poll request because it doesn’t advance the discussion in any meaningful way, nor does it improve Joomla! in a way that even remotely makes sense. Thank you very much for not wasting everybody’s time.

avatar brianteeman
brianteeman - comment - 4 Apr 2020

Closed - not wasting my time ensuring that this silly piece of code is accessible as per the requirements of joomla 4

avatar brianteeman brianteeman - close - 4 Apr 2020
avatar brianteeman brianteeman - change - 4 Apr 2020
Status Pending Closed
Closed_Date 0000-00-00 00:00:00 2020-04-04 16:32:10
Closed_By brianteeman
avatar nikosdion
nikosdion - comment - 4 Apr 2020

The problem IS NOT that we don’t want you to make this code accessible. You know that’s NOT what we’re trying to do here; don’t play dumb with me, it won’t work. I know you for over ten years.

The problem is that your approach was making it inaccessible for everybody.

Don’t you dare imply that I don’t care about accessibility or that I don’t want to improve it. I was the one who came up with an alternative UX pattern unprompted, one that would solve both the accessibility concerns of the popovers (poof! They’re gone) AND the usability concerns of their disappearance (self-explanatory UI for the win). You don’t have to like the alternative but not even wanting to discuss it while accusing me of not caring is a level of cringeworthy hypocrisy that doesn’t suit you.

I don’t appreciate you calling my code contribution “silly”. Comments like that may not dissuade me from contributing to Joomla (I’ve come to expect being abused for my contributions) but it does dissuade other potential contributors.

Furthermore, I do not appreciate being attacked continuously for following the Joomla 4 UI paradigm. In the end of the day it’s not my fault that Joomla 4’s UI paradigm is flawed and in stark contrast with its stated goal for accessibility. This is something to take to the accessibility team, not the contributors who can receive no guidance from said team (or even determine whether said team even exists anymore).

If you decide that you want to fix the accessibility issues of the missing Download Keys UI my offer to help determine and implement an alternative solution that doesn’t suck hairy monkey balls for the user still stands. I’m NOT going to stand passively here being a punching bag, though. Enough!

avatar brianteeman
brianteeman - comment - 4 Apr 2020

Its me that feels like the punching bag

The problem is that your approach was making it inaccessible for everybody.

I obviously disagree and feel that people are confusing accessibility and usability

I don’t appreciate you calling my code contribution “silly”.

I am referring to download keys in general and the minor role it has

Furthermore, I do not appreciate being attacked continuously for following the Joomla 4 UI paradigm.

But you didnt - thats the whole point

In the end of the day it’s not my fault that Joomla 4’s UI paradigm is flawed and in stark contrast with its stated goal for accessibility. This is something to take to the accessibility team, not the contributors who can receive no guidance from said team (or even determine whether said team even exists anymore).

That team did nothing but travel for 2 years, copied other sites documentation for another year and then disappeared for a further year. They are supposed to have been reformed but I haven't seen any sign of them here.

avatar brianteeman
brianteeman - comment - 4 Apr 2020

Talking with @wilsonge and I definitely think there have been crossed wires on some points because of MY fault. I didnt appreciate that some comments were about the Updates page and some were about the Update Sites page.

I never noticed the two and was only referring to the Updates Sites page. Now that I see the two places I can see some of your comments as making more sense

avatar wilsonge
wilsonge - comment - 4 Apr 2020

OK Let's stay calm here. I think we can both agree that here we can remove the popovers without reducing the UX. I don't think we need a popup to tell people to edit an item inside the list view for editing an item in the same view - we've never had popups to do this in all our other core views.

It actually probably does make sense in the updates view where it's less obvious where to action updating the download key.

In the Updates page, put a Download Key text field with an attached "Update Download Key" button below the entries which are missing a Download Key or failed to download. This is the best solution according to our user tests. We're doing essentially the same thing in our software the last 5 years with great results.

This to me seems the most logical - as the notice doesn't have much effect. Something that might be easier is having missing key as a button - which opens the update site in a modal? As this is already an established practice in core (e.g. prompting smart search users to enable the plugin etc)

avatar brianteeman
brianteeman - comment - 4 Apr 2020

Something that might be easier is having missing key as a button - which opens the update site in a modal?

That was what I was planning on doing

avatar nikosdion
nikosdion - comment - 4 Apr 2020

This feature is silly to you but for us 3PDs making a living selling software it is important, more so when the JED forces us to use Joomla’s update system despite all its problems. Do remember that this feature came to be without consultation with the affected parties. I came in trying to salvage it, as fast as possible, since the beta timeline was fuzzy as hell. It was either doing the minimum required work to make the Download Keys feature not suck hard or be stuck with a horrible, confusing feature which would increase our support time for however many years Joomla 4 will be with us — judging by Joomla 3, about a decade...

Please let me explain the problem I was trying to fix, the problems I didn’t fix, how they all mesh together and what we can do to address all of them which, as a side effect, fixes the accessibility concerns as well.

One of the myriad of problems with the update system is that in J3 there is no way for the user to know there’s a missing or invalid download key. They try to install an update and they get an error that the download failed. No indication why. Moreover, if someone clicks on Rebuild in the Update Sites page it removes the download key and there is again no indication why the update fails. When someone changes the download key it doesn’t “take” unless you do some weird dance which involves clearing the administrator cache because Joomla does cache some query results even when caching is turned off in Global Configuration (Brian and George might remember that the last bug I fixed during the bug sprint in Manchester those years ago was about that caching when editing plugins).

Joomla 4 attempted, though a summer of code project, to partially fix the Download Key issues by making the Update Site editable to the portion that defines the download key. The solution was half baked, presumably because there’s little to no stewardship of student projects. Not to mention that even Joomla cofounders and release leaders are blind to the paid extension update problems that are obvious to us 3PDs, let alone the people coaching students. Of course you never asked for 3PDs input which is a failure of the project processes. But I digress.

I can’t fix the wrong download key feedback without changing the update system. Unfortunately, nobody wants to touch it or allow me to fix it. I’ve asked in the past. Nobody every replied to me. But I’ll come back to that.

What I COULD fix in double quick time was the problematic assumptions in handling the Download Key in the extra_query column of #__update_sites and the obvious problem of how to guide the user should the key be missing completely.

Here’s the thing. You’ve never talked to real world users of all shapes and sizes using paid software. The term Download ID / Download Key means nothing to them. Yes, we include it in our software, our documentation, the email we send them, their account page etc but they are oblivious to it. When they see the message about missing Download Keys they will have no idea why this is important and what to do. So we need to take them by the hand and help them.

Parenthetically, this was one of the major problems our user testing uncovered. The solution we implemented was to add a very obvious box above our software’s main page which explains why the Download Key is necessary for updates, has a link to a page where you can find it (along with some more detailed information of what it is) and in inline form to enter it. The inline form triggers code which applies it to the #__update_sites table and refreshes the updates. This had a phenomenal impact on the number of support requests we got about the Download Key. Users could ignore the documentation, emails and our site’s pages for years but they couldn’t ignore a big bear of a box in front of their eyes. Success!

I am NOT happy with how the Update Sites page looks even after my contribution. The contribution was hasty, trying to beat a beat deadline that nobody could tell me when it would be. It’s still not very clear to the user. Yeah, we now mark which sites are missing a Download Key. The popover was added on the observation that the user will move their pointer / finger over it because that’s how people who are most confused by unknown terms use their devices (a surprise finding during user testing with our own software). Putting that information in front of their eyes does help the most confused users. I agree that popovers are inaccessible but they are used everywhere in Joomla. Your outrage for my using popovers is unwarranted. Find an alternative to popovers and get off my case, will ya? It’s not like I am using a popover when Joomla doesn’t! But I digress again.

The alternative I gave you was NOT to replace the existing link with a modal in either the Updates or Update Sites page. That would be pointless if not outright wrong. It would require the user to know that they need to click there... which they already would for a link ie what it is right now. Removing the popover while keeping a link or replacing it with a modal is not usable. That was my objection all along.

What I said is we should have an in-line form in the Update and / or Update Sites page, right below the “The Download Key is missing” page. Maybe it could be hidden and instead have a button “Enter your Download Key” to display it but I’m dubious about its accessibility. Anyway, I said in-line form. Not in a modal. Modals are unusable on smaller touch devices and it’d be comical if we were clutching our pearls about the largely irrelevant minority of touchscreen Windows computers with regards to popovers when we’re advocating implementing something that ignores the majority of computing devices out there! Replacing one wrong with another wrong does not make it right.

The other missing thing is that we don’t currently tell the user WHERE to find that Download Key. Sure, I added generic wording in the Update Site edit page that they need to go to the developer’s site... but where is that? Am I supposed to memorize the developer site URLs for all of my extensions? Isn’t that opposite to the idea of, dunno, using a computer? One idea would be using the author URL in the XML manifest but this is typically the home page, not necessarily relevant to the task at hand. A better approach would be adding an attribute to the manifest to give a URL that could be given to the user. Hint: that’s what I do in my software and it really does work. I have the analytics to prove it.

So here’s a better approach to actually help our users succeed AND make things more accessible:

  1. Add an attribute to the XML manifest with a URL to a relevant page about the elusive Download Key. 3PDs can implement a page on their site explaining what this is, why it’s necessary and what is the value the user needs to copy to their site.

  2. Add a button next to “The Download Key is missing” which takes you to the Update Site edit page for the relevant update site instead of the generic Update Sites page.

  3. Change the Update Site edit page to also have a link to the 3PD’s URL for Download Key information.

This solves this problem for the user and the 3PD. It sounds silly to you but if the project expects us to keep contributing code, time and money to it we need to NOT be wasting our time doing support for Joomla’s bad extensions updater and its UX failings.

Further to that and if George agrees I would also make it so that a download error for an extension that is linked to a Download Key provides two actions:

  1. Check the Download Key which opens the Update Site edit page so the user can figure out if they are entering the wrong download key.

  2. Get updates which: clears the #__updates table; clears the administrator cache (which caches the query to the #__updates table); sets the last time stamp in #__update_sites to 0; retrieves all updates; redirects back to the Updates page. This is a constant problem for us because the step of clearing the admin cache is not obvious and necessary even if caching is disabled in the Global Configuration. Of course you never knew about it because you never did support for paid extensions or ask us who do.

These changes will make Joomla far more user friendly with paid extensions. You may find it silly but it’s not. If all paid extensions went away (and the free extensions supported by the proceeds of the paid extensions) would Joomla be better off? I seriously doubt so and I’m not even thinking about my own extensions.

Finally, when you accept a PR after excessive bikeshedding from the core committers it’s kinda hypocritical accusing the contributor that they did something wrong. If we did something wrong then why didn’t you catch it when you were even commenting on the missing periods at the end of a language string? If your process is broken it’s not our problem, it’s yours. Accept your fair share of the blame. Don’t use contributors as punching bags. They are in short supply and not to be taken for granted.

And please, don’t ever imply again that contributors don’t care about Joomla users. Why do you think we give away our time and experience? To get a collective mention at the bottom of a release announcement nobody reads? Even I hadn’t noticed that until after two or three years after I made my first contributions to Joomla.

avatar brianteeman
brianteeman - comment - 4 Apr 2020

for the record i am not a core committer. i am just a contributor like anyone else. i have no position or ability to accept a pr. i do not create or have any say in processes. you know all that, this is for anyone else reading this.

as for your original pr - i made comments at the time but stopped testing it when you shot some of them down. thats my fault. in the absence of an accessibility team or a usability team i clearly should have tested it and commented at that time. my fault

avatar wilsonge
wilsonge - comment - 5 Apr 2020
  1. Add an attribute to the XML manifest with a URL to a relevant page about the elusive Download Key. 3PDs can implement a page on their site explaining what this is, why it’s necessary and what is the value the user needs to copy to their site.
  2. Add a button next to “The Download Key is missing” which takes you to the Update Site edit page for the relevant update site instead of the generic Update Sites page.
  3. Change the Update Site edit page to also have a link to the 3PD’s URL for Download Key information.

All fine by me and sounds very sensible

Further to that and if George agrees I would also make it so that a download error for an extension that is linked to a Download Key provides two actions:

  1. Check the Download Key which opens the Update Site edit page so the user can figure out if they are entering the wrong download key.
  2. Get updates which: clears the #__updates table; clears the administrator cache (which caches the query to the #__updates table); sets the last time stamp in #__update_sites to 0; retrieves all updates; redirects back to the Updates page. This is a constant problem for us because the step of clearing the admin cache is not obvious and necessary even if caching is disabled in the Global Configuration.

Also fine by me

Of course you never knew about it because you never did support for paid extensions or ask us who do.

FWIW this GSOC project was mentored by someone who builds paid Joomla extensions. So no we didn't do full outreach to all interested parties. But I wasn't quite crazy enough to put myself or someone who didn't build paid extensions to run it ;)

avatar nikosdion
nikosdion - comment - 5 Apr 2020

Now you understand what the problems are, exactly how to fix them in minute detail AND you agree it’s the right way to do it. Great.

All YOU need to do is write the code.

I’m done contributing my time, code and money to the project only to be abused after the fact. I have more fulfilling things to do with my life.

Add a Comment

Login with GitHub to post a comment