Serenity Operating System
at master 34 lines 872 B view raw
1/* 2 * Copyright (c) 2020, the SerenityOS developers. 3 * Copyright (c) 2022, Luke Wilde <lukew@serenityos.org> 4 * 5 * SPDX-License-Identifier: BSD-2-Clause 6 */ 7 8#pragma once 9 10#include <LibWeb/ARIA/Roles.h> 11#include <LibWeb/HTML/HTMLElement.h> 12 13namespace Web::HTML { 14 15class HTMLMeterElement final : public HTMLElement { 16 WEB_PLATFORM_OBJECT(HTMLMeterElement, HTMLElement); 17 18public: 19 virtual ~HTMLMeterElement() override; 20 21 // ^HTMLElement 22 // https://html.spec.whatwg.org/multipage/forms.html#category-label 23 virtual bool is_labelable() const override { return true; } 24 25 // https://www.w3.org/TR/html-aria/#el-meter 26 virtual Optional<ARIA::Role> default_role() const override { return ARIA::Role::meter; } 27 28private: 29 HTMLMeterElement(DOM::Document&, DOM::QualifiedName); 30 31 virtual JS::ThrowCompletionOr<void> initialize(JS::Realm&) override; 32}; 33 34}