[whatwg] Status bars and progress indicators
Matthew Raymond
mattraymond at earthlink.net
Mon Sep 20 18:55:14 PDT 2004
Matthew Thomas wrote:
> On 8 Sep, 2004, at 8:16 AM, Daniel O'Connor wrote:
>> A multi-purpose statusbar for specific controls/ collections of
>> controls would be useful imho: overriding (intercepting?) the UA's
>> statusbar for XmlHttpRequests/ transactions between the server, as
>> well as providing a useful place for feedback to a user.
>
> "Scripts can't turn off the status bar."
> <http://www.microsoft.com/technet/security/secnews/articles/
> itproviewpoint081104p2.mspx>
>
> If a browser vendor can't trust you enough to let you turn off the
> status bar, I doubt they'll ever trust you enough to let you replace it
> with your own.
The root of the problem is that if you can't use basic application
widgets, will people even use HTML for web applications? They may just
use Java applications, which don't have many of the mentioned
limitations, or a combination of XAML and JScript.
(Personally, I don't understand why they won't let programs turn off
the status bar when the user still can. You could simply ask the user to
hide the status bar before starting the program. Does Microsoft block
detection of whether or not the status bar is hidden, by the way? If so,
the application could simply refuse to run unless the user disables the
status bar.)
> A standard <progressmeter> (or <progress>) element might be useful, so
> that non-page progress indication can be more consistent, instead of
> every app developer coming up with their own zany animation. For
> backward compatibility, it could be a container element, like this:
>
> <progressmeter>(86 %)</progressmeter> Uploaded 46 K of 54 K
>
> A graphical UA would take the "(86 %)", strip out the non-numeric stuff
> (i.e. everything except the "86" and the "%"), recognize it as 0.86,
> and replace the element with a graphical progress meter representing
> that fraction:
I'd prefer something like this:
<progressmeter value="86%">(86 %)</progressmeter>
This is useful in two ways. First, it makes parsing bugs less likely
because the browser doesn't have to process the child text. Instead, it
simply reads a percent value into a property, which browsers have been
able to do since the early days of browsing.
Second, using a property to determine the value allows you to forget
about child elements when you don't want the bar to be seen or don't
care about graceful degradation:
<progressmeter value="86%"/>
> If such an element is introduced, a <gauge> element should be
> introduced at exactly the same time, so that the Web doesn't fall into
> the same trap Mac OS did when it had one but not the other, and
> developers were confusing people by using progress indicators to
> indicate non-progress fractions (like relevance and quota usage).
>
> <dt><a href="http://www.quirksmode.org/dom/webforms2.html">Web
> Forms 2.0 - notes and comments</a></dt>
> <dd class="uri">http://www.quirksmode.org/dom/webforms2.html</dd>
> <dd>Relevance: <gauge>14 %</gauge></dd>
>
> Which in a graphical UA would produce:
>
> _Web Forms 2.0 - notes and comments_
> http://www.quirksmode.org/dom/webforms2.html
> Relevance: [##:::::::::]
This is fine, but I still feel that the child text should be for
graceful degradation only. What happens, for instance, if the webmaster
uses something other than a percent sign?
<gage>14 Percent</gage>
<gage>14 out of 100</gage>
<gage>14 / 100</gage>
<gage>7 / 50</gage>
<gage>0.14</gage>
By using |value| (or whatever name you want to use for the
attribute), you can avoid the ambiguity:
<gage value="14%">Fourteen Percent</gage>
<gage value="14%">14 / 100</gage>
<gage value="14%"/>
More information about the whatwg
mailing list