Unfortunately, browsers have collectively decided that end-users are stupid and can't be trusted. Very few features work over the file: protocol. There's no local-https server that I can teach a non-tech-savvy user to use.
This isn't going to work for everyone, but if you're dealing with non-tech-savvy but mostly-able-to-use-a-computer users, it can, and it being graphical seems to be less of a hill than if I tell people to run `python -m http.server` in the terminal (because, "what is a terminal"...)
Make one then. All the building blocks are out there, so all you need to focus on is UX.