One of our staff is very detail oriented and noticed that some components (like the text component) don’t show their name as a heading, the video component uses <h3 class=”hd hd-2”>, problem components use <h3 class=”hd hd-3 problem-header”> the Jupyter xblock uses <h2 class=”problem-header”> (seems to be inherited from LTI-Consumer xblock)
Is there a way, a place, to uniformize all of those ?
We can manage CSS styling to make them look the same, but this does not help with accessibility readers, which will interpret <h2> vs <h3> differently.
We also had unit titles which used <h3>, which we changed to use h1 instead using a plugin slot…
Making the headers of various types of elements more logically hierarchised would be great.
Hmm. I don’t know how this is done. Tagging @brian.smith for visual/paragon input, and I guess @arbrandes or @braden for more of the xblock angle? sorry for all the tags, I feel this might touch a few things.
For what it’s worth, our temporary solution was to fork lti-consumer-xblock to overwrite the version that is installed normally, and changed it to use the same <h3> as edx-platform. It seemed easier to fork the xblock than the edx-platform, but this is more of a patch than a proper fix.
Ideally, we would decide which one they’re all supposed to have (based on the other headings on the LMS page), and then just open PRs to make them all consistent. There is no other easy way, and I’d prefer to fix them once for everyone rather than let each instance customize them.
What about the “text” components which don’t display headers, while the “video” or “problem” components do ? This is all within edx-platform. We realized that we have to manually add the title again within the text content.
I don’t think there’s a workaround for that. There are a lot of use cases where people don’t want a visible header for text components, so I think you need to add them manually if you want them.