It is that bad. HTML is not really a programming language. It’s a descriptive/markup language to specify webpage structure. There are rules and standards that need to be followed.
That said, browsers will do their best to render the code, ignoring what doesn’t make sense but what happens when browsers adhere to the rules.?
When you move on to real programming languages you’ll find that you cannot ignore errors. Your code will not run, period.
Addressing a few of the errors;
Anchors have a purpose and rules to be followed. Buttons have a purpose. There is no value-add in having navigation links be buttons.
The only element allowed in ordered and unordered lists it the list element. To add to that, code2 is not a valid HTML element. You cannot make up your own elements.
The test script should be included, with all tests passing, when you submit your projects.
Your page passes 15/16 user stories. Click the red button to see which test(s) are failing and text to help you correct the issue. (Be sure and read more than just the first line of the failing message.)