tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

nsIAccessibleHyperLink.idl (2750B)


      1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
      2 *
      3 * This Source Code Form is subject to the terms of the Mozilla Public
      4 * License, v. 2.0. If a copy of the MPL was not distributed with this
      5 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
      6 
      7 #include "nsISupports.idl"
      8 
      9 interface nsIURI;
     10 interface nsIAccessible;
     11 
     12 /**
     13 * A cross-platform interface that supports hyperlink-specific properties and
     14 * methods.  Anchors, image maps, xul:labels with class="text-link" implement this interface.
     15 */
     16 [scriptable, builtinclass, uuid(883643d4-93a5-4f32-922c-6f06e01363c1)]
     17 interface nsIAccessibleHyperLink : nsISupports
     18 {
     19  /**
     20   * Returns the offset of the link within the parent accessible.
     21   */
     22  readonly attribute long startIndex;
     23 
     24  /**
     25   * Returns the end index of the link within the parent accessible.
     26   *
     27   * @note  The link itself is represented by one embedded character within the
     28   * parent text, so the endIndex should be startIndex + 1.
     29   */
     30  readonly attribute long endIndex;
     31 
     32  /**
     33   * Determines whether the link is valid (e. g. points to a valid URL).
     34   *
     35   * @note  XXX Currently only used with ARIA links, and the author has to
     36   * specify that the link is invalid via the aria-invalid="true" attribute.
     37   * In all other cases, TRUE is returned.
     38   */
     39  readonly attribute boolean valid;
     40 
     41  /**
     42   * The numbber of anchors within this Hyperlink. Is normally 1 for anchors.
     43   * This anchor is, for example, the visible output of the html:a tag.
     44   * With an Image Map, reflects the actual areas within the map.
     45   */
     46  readonly attribute long anchorCount;
     47 
     48  /**
     49   * Returns the URI at the given index.
     50   *
     51   * @note  ARIA hyperlinks do not have an URI to point to, since clicks are
     52   * processed via JavaScript. Therefore this property does not work on ARIA
     53   * links.
     54   *
     55   * @param index  The 0-based index of the URI to be returned.
     56   *
     57   * @return the nsIURI object containing the specifications for the URI.
     58   */
     59  nsIURI getURI (in long index);
     60 
     61  /**
     62   * Returns a reference to the object at the given index.
     63   *
     64   * @param index  The 0-based index whose object is to be returned.
     65   *
     66   * @return the nsIAccessible object at the desired index.
     67   */
     68  nsIAccessible getAnchor (in long index);
     69 };
     70 
     71 /*
     72 Assumptions:
     73 
     74 The object associated with object or anchor index
     75 is an nsIAccessible.
     76 A URI can be represented by the nsIURI interface
     77 (or nsIURL interface).
     78 
     79 Note that an object which supports nsIAccessibleHyperlink
     80 does *not* generally implement nsIAccessible, unlike the
     81    case of the other nsiAccessible* interfaces in this directory.
     82 
     83    Aaron: would the nsISupports return from
     84    getObject be queryable for nsIURI and nsIURL directly?
     85 
     86 */