chromium/third_party/blink/renderer/core/html/forms/html_select_list_element.idl

// Copyright 2021 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

[Exposed=Window,HTMLConstructor,RuntimeEnabled=HTMLSelectListElement]
interface HTMLSelectListElement : HTMLElement {
  readonly attribute boolean open;

  [SameObject] readonly attribute HTMLOptionElement? selectedOption;
  [ImplementedAs=valueForBinding] attribute DOMString value;
  // TODO(crbug.com/1121840) Fill this out.
  // Open question: do we want to replicate the interface of
  // <select> as closely as possible?
  // Or should we try to improve, simplify, or extend it?
  [CEReactions, Reflect] attribute boolean disabled;
  [ImplementedAs=formOwner] readonly attribute HTMLFormElement? form;
  [CEReactions, Reflect] attribute DOMString name;
  readonly attribute DOMString type;
  [CEReactions, Reflect] attribute boolean required;

  readonly attribute boolean willValidate;
  readonly attribute ValidityState validity;
  readonly attribute DOMString validationMessage;
  boolean checkValidity();
  boolean reportValidity();
  void setCustomValidity(DOMString error);

  readonly attribute NodeList labels;
};