Last modified: 2008-12-08 23:15:52 UTC
Currently, a site notice is not at all visible if JavaScript is disabled! According to http://www.thecounter.com/stats/2008/October/javas.php up to 6% of visitors have JavaScript disabled. At the moment we are going to turn on our Fundraiser 2008; see http://en.wikibooks.org/wiki/Main_Page?oldid=cur But, every 20th visitor *inherently* won't donate like this! There should be a rudimental site notice in source code (text only).
Sitenotices were changed to javascript for two main reasons: to make them dismissable for logged in users, and to prevent them from polluting the summaries of search results. Monobook was partially designed to make everything float (based on things like Plone) but also to optimize search summaries. If you omit the sitenotice, the first thing a web crawler will see is the h1.firstHeading followed by #siteSub and #contentSub. So for example [[Foo]] might show in a generic site search result (on google) as: From Wikipedia, the free encyclopedia. Jump to: navigation, search. Foo is a metasyntactic variable used heavily in computer science to represent concepts... Sitenotices were originally intended for very brief notices, about important things happening to the site. This intent has since become corrupted, and quite a few mediawiki projects have a sitenotice 100% of the time. Changing the sitenotices back to a non-javascript solution would probably require (at this point) an absolute position object that could be textually placed after the page content visually appear above it.
For a normal site notice it is ok to only reach the most people. But don't we want to reach *all* people with a CentralNotice fundraiser? For the current fundraiser I suggest to add something short like: <noscript>Donate!</noscript>
Short of completely destroying our server farm by destroying caching, we don't currently have a good way of accomplishing the flexibility we need in the notice without using JS... further, adding a <noscript> would inject that into search engine indexes where we're deliberately trying to keep it out.