Isn’t it obvious what is wrong there? This is basic html. You need to be able to spot this for yourself and I have explained this quite a few times now so there is some piece of the puzzle you are not seeing,
The only element that can be a direct child of a ul is a li element. All other content must be inside a matched pair of li tags.
You can have anything you like inside the pair of list tags (including nested uls or indeed any correct html structure) but nothing can live outside the list tag as a direct child of the ul.
**Error** : Stray end tag div.
At a guess I would say that means you have a stray closing div tag
Just remove it or look and see if you have removed the starting div tag by mistake?
You have two of those stray tags which makes me think you have deleted perhaps the page wrapper and some other wrapper by mistake. However if you remove the stray div tags and it doesn’t break anything then you probably didn’t need those elements anyway,
It all depends on what you mean by bad?
Most browsers will handle the missing list tag ok but some may not give you a new line and some will. What happens if the list is automatically numbered. What happens in that case?
What’s the point of writing good code if bad code works?
This is what happened at the beginning of the century and we ended up with millions and millions of broken sites. If you don’t look after your code then all bets are off.
That’s not to say that you need to squash all errors because in some cases that’s not possible but you do need to understand them so that you can make the choice to ignore them. Just saying ‘I don’t know’ is not good enough. You need ‘to know’ so that you can safely ignore it.
Html errors are simple and easy fixes. Third party code (plug-ins etc) are generally difficult to fix and most times won’t make a difference.