Short Answer
It is both valid and "accessible" in the loosest sense of the term, a good experience for screen reader users - probably not.
It would pass all WCAG guidance, let's put it that way.
Longer Answer
Without seeing it in the context of the page though it is hard to tell you whether this is the best practice. A few things to consider:-
- Is there sufficient white space around these large "link cards" for people with mobility / accuracy / dexterity issues to safely place their finger to scroll the page on a mobile device.
- If the link card is focused is the focus indicator easy to see and sufficient contrast etc. (standard thing to check for but often forgotten on card type links)
- If a screen reader user cycles the page via headings is it logical to have a
<h3>
in the card, both in terms of heading hierarchy and in terms of page hierarchy.
- Are the alt descriptions correct in their context, if the image is not directly related they may be better being hidden from screen reader users with
aria-hidden
or an empty (not null) alt attribute (alt=""
NOT alt
). I would almost certainly say this will be the case but yet again that is your judgement.
alt
being the same as the <h3>
title - this is almost certainly a big no no. alt
attributes should describe the image in context. If the alt
text is the same as the title then make the image presentational / hidden from screen readers as discussed in the previous point.
- Should these be
<article>
elements to be semantically correct?
- Are they contained in an
<ul>
so that a screen reader user knows how many items there are?
- would an
aria-label
on the hyperlink with a condensed version of the text be appropriate (to override the text inside the hyperlink)? It depends on the content so use best judgement.
- Would a hyperlink styled to look like a button at the end of each article be better? If so make sure it doesn't just say "read more" (although at a push you could have "read more" as the button text and have some visually hidden text that says "Amazing lifehack! Doctors hate him!" before it).
As you can tell, without seeing them in context there is lot's of things we cannot tell you but hopefully the above should give you a few things to think about.
As for the screen reader reading everything in a single breath, that is expected behaviour, you just need to get used to it! You could always slow the speech rate in the settings or increase the announcer verbosity (so it has more detail about what element you are in relative to other elements) while you get used to it.