benetech / MathShare

MIT License
9 stars 3 forks source link

Improved experience when teachers view a pre-made problem set #1025

Open benetechMatt opened 4 years ago

benetechMatt commented 4 years ago

Currently when educators view a pre-made set they are taken to the /solve/ version. From here educators cannot copy the set to their own account for editing. If they assign the set from the /solve/ page they are really assigning the /review/ version which students cannot work on.

Changes

benetechMatt commented 4 years ago

currently the twitter share link /view/ automatically changes to the /solve/

educators can add the set to their library by selecting a button "+ Add to my library". If users are not signed in they are told they must sign in to save items to their library.

johnhbenetech commented 4 years ago

So is it correct that for a single problem set we will now have 5 possible views:

benetechMatt commented 4 years ago

Correct, there will now be 5 possible views. For the preview view, we need to add a large message and copy button at the top to make this clear as shown in the mockup below. The assign buttons should be grayed out so teachers know they can't assign the set in this view

Mockup of the problem set screen.  A wide yellow box below the title and above the problems has large text that says "Preview" and a button that says "copy set"

jscholes commented 4 years ago

If the preview only facilitates a single function, namely copying to an editable context, could it be achieved in a way which cuts out a step? E.g.:

It seems overly complicated to add a whole new type of view just to allow one action to be carried out. Particularly when you take into account the concerns raised by @johnhbenetech re: read-only controls and what-not.

johnhbenetech commented 4 years ago

So final decision from call:

sinabahram commented 4 years ago

this line raises concerns:

The user can click into a problem to preview it as well, but no editing is allowed there either

“”

May I suggest that for any feature, what-so-ever, there be established a keyboard and mouse way of achieving the action at a minimum?

Clicking into something implies making it a link or a button, but if that something is mathematics and you expect exploration to be supported, then this won’t work because enter/space, the equivalent actions of clicking, won’t result in activation, but rather exploration invocation in NVDA, Jaws, etc.

Question: How do we expect this affordance to occur accessibly?

johnhbenetech commented 4 years ago

@sinabahram might have been a vocabulary issue on my side. This will be afforded in the same way problem sets are afforded on the dashboard today (through both click and keyboard navigation). Now, instead of bringing you to the 'solving' view it will go to the new read-only view. Please correct me if I misunderstood your comment. I'll try to be more explicit going forward.

@benetechMatt Let me know if I misunderstand the task

sinabahram commented 4 years ago

I don’t think it’s a vocabulary issue. I’m happy for you to use click and for it to mean click or hit enter, but what I’m saying is that we haven’t solved the case that you reference. Neil and I went back/forth on it a lot, but I don’t recall us landing on a satisfactory solution.

jscholes commented 4 years ago

@johnhbenetech I think @sinabahram's concerns revolve around how the math content will be accessibly surfaced in a read-only context, if the current accessibility affordances rely on (or at least assume) an editable area. Sina, correct me if I'm wrong on that.

sinabahram commented 4 years ago

James, kind of but not an editable region.

Let’s start from the basics, and then it’ll be clear.

MathML will be used to display the problem, yes?

This MathML will be shoved inside of a what? A link? A button?

Now, after answering the above, you can see the problem. How does one activate said link or button if one’s screen reader intercepts the key to enter math navigation mode?

Note, NVDA behaves differently than Jaws when you have MathML in a button.

jscholes commented 4 years ago

@sinabahram I think that's where the vocab issue may have come into play. When I read:

The user can click into a problem

... I don't think that means they can click into the math content in some way. I just assume it means, click a problem within the list of those in a set. The MathML content will just then be rendered as normal, in a non-editable way.

My assumption is based on the fact that I don't understand what clicking that content would do, so I assume that isn't the intention.

johnhbenetech commented 4 years ago

Gotcha, thanks for clarifying both.

@sinabahram I guess we currently have a similar "read-only" view seen here: Read Only View of Student's Work

I dont recall either where we wound up on this in the remediation, but I can dig through stuff to see if I can jog my memory.

sinabahram commented 4 years ago

Yup, exactly. That’s what I’m talking about. So, if you go to a problem set, and you see the 7 problems as links in an unordered list, you can see what I’m saying.

The math does read correctly e.g. find the product of, and then it reads me the fraction, etc., but I cannot explore that mathematics, because it’s a link. So, the moment I hit enter on it, it navigates me to that problem.

The bad news is the above is a super nontrivial problem because no technical solution exists, at least not that I know of, and I spent some time thinking about this with Neil. We still argue over some semantics, but he and I are pretty much on the same page about this, and we’re in the process of writing up our thoughts in a shared document. Essentially, it comes down to there needing to be a separate keystroke for invoking math exploration when enter is not available. I also want to run that document by James because he’s the check on all things implementation-related. But, I’m flagging this issue now because these problems in the problem set and your preview thing are going to run into this same exact issue, and right now, the trade-off being made by the current implementation is that the link is able to work but the mathematics cannot be explored, at least with Jaws and Chrome.

The good news is that we are getting aria-braillelabel and aria-brailleroledescription, which would allow us to provide the math in nemeth, without needing to rely on MathML if that becomes necessary in a markup pattern. It will definitely be useful in the braille output of MathShare at any rate.

That’s important to keep in mind because while it’s one thing not to be able to explore “one half times two thirds”, it’s another to have to keep in your head “3 times x cubed plus two x squared minus three x plus 9 = 10”. So, I want this to be top of mind as a fundamental problem that we need to be aware of.

jscholes commented 4 years ago

@sinabahram Okay, this makes sense, so thanks for explaining in full. It will apply in all problem set views which link to problems, regardless of whether the context is read-only or not.

benetechMatt commented 4 years ago

@johnhbenetech let's hold on this as we move forward with #1086 which provides an alternative to this while we make it easier for students to create and complete problem sets