@vanzasetia
Posted
Hi, Yazdun! π
Congratulations on finishing this challenge! π
Glad you manage taking care of the lady image. π
I notice that you have a sr-only
heading one. I would suggest removing it because it's a full webpage (not a component) and also every page should only contain one h1
.
More feedback:
- Accessibility
- Good job on using
main
landmark! π - The most important content on the page is the logo, definitely not decorative, and surely not one with blank
alt=""
text. Without that information, how would a screen reader user or a search engine know what your site/project is called? - Don't use
aria-required
attribute when there's the nativerequired
attribute. In general, you should use the native HTML elements and attributes. - Well done on labeling the submit button but, there are better solutions. Use
span
withsr-only
for the text content or even better use the alternative text of the icon as the text content for the button element. Also, there's no need to tell that it is a button. It's already a button element so the screen reader will pronounce it as a button. Currently, the screen reader will pronounce it as submit button, button.
- Good job on using
<button
id="btnSubmit"
type="submit"
class="showcase__form--submit"
>
<img src="./images/icon-arrow.svg" alt="Submit" />
</button>
- Input element needs a
label
element. You might want to usesr-only
label instead or make thelabel
as a placeholder instead. - Add
aria-describedby
attribute to theinput
element and reference the error element. - Styling
- Create a custom
:focus-visible
styling to any interactive elements (button
, links,input
,textarea
). This will make the users can navigate this website using keyboard (by usingTab
key) easily.
- Create a custom
- JavaScript
- I would prefer using
querySelector
and referencing or selecting the element withjs-
classes. In my opinion, it makes your code more maintainable and readable because thejs-
only be used for manipulating the DOM element with JavaScript (no CSS).
- I would prefer using
I like the custom validation that you've created, so great job! π
That's it! Hope you find this useful! π
Marked as helpful
@vanzasetia
Posted
Here are some resources to learn accessibility.
- Inclusive Components - Learn how to create an accessible components (toggle buttons, a todo list, etc).
- Deque - List of axe 4.4 Rules - A manual accessibility checks.
- Blog Post by Adrian Roselli - Stop Giving Control Hints to Screen Readers
- Scott O'Hara - Blog Posts
- Andy Bell - Piccalilli
- Stephanie Eckles - moderncss.dev - I like the Modern CSS Upgrades To Improve Accessibility blog post. It tells you a practical guide to improve your website accessibility.
- Checklist - The A11y Project - make sure that your webisite is accessible.
- WAVE Web Accessibility Evaluation Tool
I hope this helps you to learn more about accessibility!
Marked as helpful
@Yazdun
Posted
@vanzasetia Hello Vanza, Thanks for your awesome feedback π
I dived back to the challenge and fixed all the issues you mentioned, It was super helpful π
And the funny thing is : I've dedicated my whole time to learn accessibility and SEO for now, I tried to make this project accessible, and also navigatable (not sure if navigatable is a word π) with keyboard, so the resources you provided are like a gem to me right now and I can't thank you enough for that πβ€οΈβπ₯
@vanzasetia
Posted
@Yazdun You're welcome! Glad to know it is helpful for you! π
Nice project! It looks great in my view and the :focus-visible
styling is clear! π Is the project is going to be a real blog app? Anyway, good luck with your learning process!
@Yazdun
Posted
@vanzasetia Yes, I'm prototyping it for now, once I gain enough confidence in SEO and nextjs, I'm gonna turn it into a real blog app
@vanzasetia
Posted
@Yazdun Awesome! Good luck with it! π