1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ 2 /* vim: set ts=2 et sw=2 tw=80: */ 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 #ifndef mozilla_a11y_relationtype_h_ 8 #define mozilla_a11y_relationtype_h_ 9 10 namespace mozilla { 11 namespace a11y { 12 13 enum class RelationType { 14 15 /** 16 * This object is labelled by a target object. 17 */ 18 LABELLED_BY = 0x00, 19 20 /** 21 * This object is label for a target object. 22 */ 23 LABEL_FOR = 0x01, 24 25 /** 26 * This object is described by the target object. 27 */ 28 DESCRIBED_BY = 0x02, 29 30 /** 31 * This object is describes the target object. 32 */ 33 DESCRIPTION_FOR = 0x3, 34 35 /** 36 * This object is a child of a target object. 37 */ 38 NODE_CHILD_OF = 0x4, 39 40 /** 41 * This object is a parent of a target object. A dual relation to 42 * NODE_CHILD_OF. 43 */ 44 NODE_PARENT_OF = 0x5, 45 46 /** 47 * Some attribute of this object is affected by a target object. 48 */ 49 CONTROLLED_BY = 0x06, 50 51 /** 52 * This object is interactive and controls some attribute of a target object. 53 */ 54 CONTROLLER_FOR = 0x07, 55 56 /** 57 * Content flows from this object to a target object, i.e. has content that 58 * flows logically to another object in a sequential way, e.g. text flow. 59 */ 60 FLOWS_TO = 0x08, 61 62 /** 63 * Content flows to this object from a target object, i.e. has content that 64 * flows logically from another object in a sequential way, e.g. text flow. 65 */ 66 FLOWS_FROM = 0x09, 67 68 /** 69 * This object is a member of a group of one or more objects. When there is 70 * more than one object in the group each member may have one and the same 71 * target, e.g. a grouping object. It is also possible that each member has 72 * multiple additional targets, e.g. one for every other member in the group. 73 */ 74 MEMBER_OF = 0x0a, 75 76 /** 77 * This object is a sub window of a target object. 78 */ 79 SUBWINDOW_OF = 0x0b, 80 81 /** 82 * This object embeds a target object. This relation can be used on the 83 * OBJID_CLIENT accessible for a top level window to show where the content 84 * areas are. 85 */ 86 EMBEDS = 0x0c, 87 88 /** 89 * This object is embedded by a target object. 90 */ 91 EMBEDDED_BY = 0x0d, 92 93 /** 94 * This object is a transient component related to the target object. When 95 * this object is activated the target object doesn't lose focus. 96 */ 97 POPUP_FOR = 0x0e, 98 99 /** 100 * This object is a parent window of the target object. 101 */ 102 PARENT_WINDOW_OF = 0x0f, 103 104 /** 105 * Part of a form/dialog with a related default button. It is used for 106 * MSAA/XPCOM, it isn't for IA2 or ATK. 107 */ 108 DEFAULT_BUTTON = 0x10, 109 110 /** 111 * The target object is the containing document object. 112 */ 113 CONTAINING_DOCUMENT = 0x11, 114 115 /** 116 * The target object is the topmost containing document object in the tab 117 * pane. 118 */ 119 CONTAINING_TAB_PANE = 0x12, 120 121 /** 122 * The target object is the containing window object. 123 */ 124 CONTAINING_WINDOW = 0x13, 125 126 /** 127 * The target object is the containing application object. 128 */ 129 CONTAINING_APPLICATION = 0x14, 130 131 /** 132 * The target object provides the detailed, extended description for this 133 * object. It provides more detailed information than would normally be 134 * provided using the DESCRIBED_BY relation. A common use for this relation is 135 * in digital publishing where an extended description needs to be conveyed in 136 * a book that requires structural markup or the embedding of other technology 137 * to provide illustrative content. 138 */ 139 DETAILS = 0x15, 140 141 /** 142 * This object provides the detailed, extended description for the target 143 * object. See DETAILS relation. 144 */ 145 DETAILS_FOR = 0x16, 146 147 /** 148 * The target object is the error message for this object. 149 */ 150 ERRORMSG = 0x17, 151 152 /** 153 * This object is the error message for the target object. 154 */ 155 ERRORMSG_FOR = 0x18, 156 157 LAST = ERRORMSG_FOR 158 }; 159 160 } // namespace a11y 161 } // namespace mozilla 162 163 #endif 164