I found the reason: SCRIPT is an element that can be used both as a block element and as an inline element. A is an inline element. So I can use SCRIPT within A. NOSCRIPT, on the other hand, is a block element. So it's not allowed within an A. That's garbage!
Stupid W3C. Don't they have anyone there who can think? The SCRIPT tag has its counterpart in NOSCRIPT. So it only makes sense if I can use NOSCRIPT in the same place as SCRIPT. But that doesn't work. In the Python Desktop Server Javascript is used in comment links to insert the number of existing comments. There should be an alternative display for this (just a question mark) so empty brackets don't appear. But since the whole thing is inside an A tag, I can use SCRIPT there, but not NOSCRIPT. That's garbage!
Yes, I know I'm repeating myself, but with such stupidity you can only scream. Now I have to choose whether I want valid HTML or HTML that complies with accessibility guidelines. Unfortunately, it's not easy to change the technology in the Python Desktop Server because the Python Community Server only delivers static HTML and therefore dynamic content has to be inserted via Javascript. And that's exactly what Document.write() was invented for. And it could be trivially implemented with a NOSCRIPT alternative for those who don't have or don't want Javascript. Any suggestions (other than changing careers)? Update: here someone commented on this on the W3C mailing lists. The suggestion: set the whole paragraph as an alternative block. No thanks. So NOSCRIPT gets removed - because there are a number of browsers that render the contents of NOSCRIPT even when Javascript is enabled. Here's the original article.