HTML::O...rogress(3)

πŸ“¦ version 0.6.0, in alpine 3.24

🌸 HTML::O...rogress(3) β€” bestie, you opened the manpage 🌸

Okay so real talk: you just pulled up HTML::O...rogress(3) (user contributed Perl documentation, we love a community moment πŸ’–) and honestly? Great choice. This is the whole page, nothing skipped, no cap.


✨ NAME ✨

HTML::Object::DOM::Element::Progress β€” the HTML Object DOM Progress Class. It's giving "progress bar but make it Perl" πŸ’…


πŸŽ€ SYNOPSIS πŸŽ€

use HTML::Object::DOM::Element::Progress;
my $progress = HTML::Object::DOM::Element::Progress->new ||
    die( HTML::Object::DOM::Element::Progress->error, "\n" );

That's it, that's the whole vibe check. Load it, make one, and if it dies you print the error and bounce. Slay.


⭐ VERSION ⭐

v0.2.0


πŸ¦‹ DESCRIPTION πŸ¦‹

So this interface hands you the special properties and methods β€” on top of the regular HTML::Object::Element interface, which it also has available by inheritance, iykyk β€” for manipulating the layout and presentation of "<progress"> elements. Basically it's the class that makes your little loading bar feel like a main character. πŸ”₯


πŸ‘‘ INHERITANCE πŸ‘‘

Look at this lineage. It's a whole family tree and every ancestor ate:

+-----------------------+     +---------------------------+     +-------------------------+     +----------------------------+     +--------------------------------------+
| HTML::Object::Element | --> | HTML::Object::EventTarget | --> | HTML::Object::DOM::Node | --> | HTML::Object::DOM::Element | --> | HTML::Object::DOM::Element::Progress |
+-----------------------+     +---------------------------+     +-------------------------+     +----------------------------+     +--------------------------------------+

So HTML::Object::Element ➑️ HTML::Object::EventTarget ➑️ HTML::Object::DOM::Node ➑️ HTML::Object::DOM::Element ➑️ HTML::Object::DOM::Element::Progress. Generational excellence, fr fr. 🧚


πŸ’œ PROPERTIES πŸ’œ

It inherits properties from its parent HTML::Object::DOM::Element β€” so everything up the chain is yours too.

πŸ“ labels

Read-only. πŸ™ˆ

Returns a NodeList containing the list of <label|HTML::Object::DOM::Label> elements that are labels for this element.

Example, and yes the whole thing is here:

<label id="label1" for="test">Label 1</label>
<progress id="test" value="70" max="100">70%</progress>
<label id="label2" for="test">Label 2</label>

use HTML::Object::DOM qw( window );
window->addEventListener( DOMContentLoaded => sub
{
    my $progress = $doc->getElementById( 'test' );
    for( my $i = 0; $i < $progress->labels->length; $i++ )
    {
        say( $progress->labels->[$i]->textContent ); # "Label 1" and "Label 2"
    }
});

See also the Mozilla documentation: https://developer.mozilla.org/en-US/docs/Web/API/HTMLProgressElement/labels

🌈 max

Is a double value reflecting the HTML attribute β€” the one that describes the content attribute of the same name β€” limited to numbers greater than zero. Its default value is 1.0. Lowkey important, don't forget the default. ✨

See also the Mozilla documentation: https://developer.mozilla.org/en-US/docs/Web/API/HTMLProgressElement/max

🫢 position

Read-only. πŸ’…

Returns a double value, and it's literally just the result of dividing the current value (value) by the maximum value (max). But bestie β€” if the progress bar is an indeterminate progress bar, it returns -1. Not a vibe, but that's the rule.

See also the Mozilla documentation: https://developer.mozilla.org/en-US/docs/Web/API/HTMLProgressElement/position

πŸ’– value

Is a double value reflecting the HTML attribute that describes the current value; if the progress bar is an indeterminate progress bar, it returns 0.

Like so:

my $progress = $doc->createElement( 'progress' );
$progress->value = 2; # <progress value="2"></progress>

See also the Mozilla documentation: https://developer.mozilla.org/en-US/docs/Web/API/HTMLProgressElement/value


🧚 METHODS 🧚

It inherits methods from its parent HTML::Object::DOM::Element. That's the whole section, no gatekeeping, that's just what it is. πŸŽ€


πŸ’€ AUTHOR πŸ’€

Jacques Deguest <jack@deguest.jp> β€” icon, legend, the moment. πŸ‘‘


πŸ”₯ SEE ALSO πŸ”₯


Copyright(c) 2021 DEGUEST Pte. Ltd.

All rights reserved

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. Periodt. πŸ¦‹


Okay that's the whole page, every flag-free property and every link present and accounted for. Go build a progress bar that slays. πŸ’…βœ¨

Sign-off time, bestie: this gorgeous thing came from perl v5.42.2, dated 2026-02-15, and it lives at HTML::O...rogress(3). Take care of it, it's iconic. 🫢🌟

πŸ“¦ where this page comes from