In this tutorial, we will build a to-do list app with HTML, SASS / CSS, and Vanilla Javascript. Our to-do list web app will be responsive with mobile first in mind. The to do list app will also be built with accessibility (A11y) in mind for keyboard navigation and screen readers. We will also use the Web Storage API to create a persistent data store so our list items reappear any time we visit the web app.
📺 Tutorial by Dave Gray. Check out his YouTube Channel:
https://www.youtube.com/DaveGrayTeachesCode
⭐️ Course Contents ⭐️
⌨️ (0:04) Introduction / App Outline
⌨️ (1:24) HTML foundation
⌨️ (12:24) SASS / CSS styles
⌨️ (50:05) JavaScript Classes
⌨️ (57:25) JavaScript Functions
⌨️ (1:41:53) Testing the Accessibility features
⌨️ (1:45:56) Code clean up and enhancements for A11y
⌨️ (1:59:40) Testing the fixes & enhancements for the app
⌨️ (2:00:55) Wrap-up: How do you want to improve the to do list app?
📚 Further Reading:
🔗 Official SASS website: https://sass-lang.com/guide
✅ Follow Dave here:
🔗 Twitter: https://twitter.com/yesdavidgray
🔗 Reddit: https://www.reddit.com/user/DaveOnEleven
🔗 LinkedIn: https://www.linkedin.com/in/davidagray
—
Learn to code for free and get a developer job: https://www.freecodecamp.org
Read hundreds of articles on programming: https://freecodecamp.org/news
source
Thanks to Beau and everyone at freeCodeCamp.org!
▶️ Check out my channel for more: youtube.com/DaveGrayTeachesCode
wasted half a day w/ this tut. because i use atom and can't link the compiled css the way he does w/ vscode
plonk
Present sir
Hello Dave , thanx for the great work we do really appreciate your insightfull tutorials like this one, however, i have encoutered an error in main.js @add listeners, the compiling returns with an UncaughtType errorr of
cannot read property addEventListener to null
const itemEntryForm = document.getElementById("itemEntryForm");
————> itemEntryForm.addEventListener("submit", (event) =>{
event.preventDefault();
processSubmission();
});
could you please enlighten me or anyone on this forum how to rectify this ?
Good tutorial, thank you 🙂
Its to complicated …there is functions inside functions like function hell
This was a great and highly useful tutorial. Thanks for the hard work. That said, I imagine it would save people a lot of debugging and trouble shooting if the code was made available on github to reference.
I mean this no offence, but are you secretly Matt Mercer?
someone have done and working code and can share? thanks
Great tutorial. Congratulations!
I appreciate your charisma and presentational style, and your commitment to accessibility!
Thank You! Dziękuje! So lets start learning (^_^)/
Is there a repository or somthing to check the code? I am following the tutorial yet I messed up in something and my app doesn't work
Business Opportunity in Ruvol
I have invented a Board Game [still unpublished and not yet out in the market] that I believe is guaranteed to be as challenging and exciting as CHESS. I called it “RUVOL.”
It is my hope that one day Ruvol may surpass chess as the “Number One Board Game in the World.”
The weakness of chess is it always starts in fixed positions that the opening moves become “memorizable.” In fact, not a few have so mastered the moves that they can play against their opponents “blindfolded.” It is for this very reason that the great Bobby Fischer introduced his so-called “Fischer Random Chess,” where the starting position of the pieces is “randomized” to make the memorization of openings impracticable. Fortunately, it is also for this reason that I invented Ruvol where “every game” has been calculated to be a challenging one to play.
HOW IS RUVOL PLAYED and HOW YOU CAN MONETIZE IT?
I detailed everything in my YouTube video. Here is the link: https://www.youtube.com/watch?v=jcqth0m3-R0
BIG MONEY POTENTIAL IN RUVOL!
It is worthwhile to note that the people who play chess will be the same people who will play Ruvol. In my Google search, I learned there are around 800 million chess players in the world. Even just a small percentage of these 800 million is good enough to earn big money from Ruvol either as an ONLINE GAME BUSINESS or as a PHYSICAL PRODUCT DISTRIBUTOR.
You may contact me at: rodolfovitangcol@gmail.com.
Thanks and God bless!
RODOLFO MARTIN VITANGCOL
The Ruvol Inventor
An awesome 2021 to all!
💥💫❄✨
45:23 anyone else having trouble with the scss here? flex just lined everything up in a row for this container instead of having the title/button, hr, list in a column
Great video. You are a great teacher, thanks !!!
Thank you Mr !
I still get "deleted" after hitting enter for item add and after that I get "item added".
john wick also known coding
Badass Tattoo!
Would have been useful, but for some reason not reading the javascript. Using VS Code, nothing in the comments, no console, no network issues, total silence and yet it won't work. I have checked the code for errors, found some typos but fixed them. Good video though, excellent with explanations.
This is a great tutorial. Thank you for the fantasctic work!
thank you, Dude!
Hey Dave I am getting error message in chrome where it says Acess to script at main.js from index.html:1 origin 'null' has been blocked by CORS policy.
Is there a full course on Accessibility?
How different is the event "readystatechange" coded for the App Launch from "DOMContentLoaded"?