michael@0: /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ michael@0: /* vim: set ts=2 et sw=2 tw=80: */ michael@0: /* This Source Code Form is subject to the terms of the Mozilla Public michael@0: * License, v. 2.0. If a copy of the MPL was not distributed with this michael@0: * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ michael@0: michael@0: #ifndef mozilla_a11y_relationtype_h_ michael@0: #define mozilla_a11y_relationtype_h_ michael@0: michael@0: #include "mozilla/TypedEnum.h" michael@0: michael@0: namespace mozilla { michael@0: namespace a11y { michael@0: michael@0: MOZ_BEGIN_ENUM_CLASS(RelationType) michael@0: michael@0: /** michael@0: * This object is labelled by a target object. michael@0: */ michael@0: LABELLED_BY = 0x00, michael@0: michael@0: /** michael@0: * This object is label for a target object. michael@0: */ michael@0: LABEL_FOR = 0x01, michael@0: michael@0: /** michael@0: * This object is described by the target object. michael@0: */ michael@0: DESCRIBED_BY = 0x02, michael@0: michael@0: /** michael@0: * This object is describes the target object. michael@0: */ michael@0: DESCRIPTION_FOR = 0x3, michael@0: michael@0: /** michael@0: * This object is a child of a target object. michael@0: */ michael@0: NODE_CHILD_OF = 0x4, michael@0: michael@0: /** michael@0: * This object is a parent of a target object. A dual relation to michael@0: * NODE_CHILD_OF. michael@0: */ michael@0: NODE_PARENT_OF = 0x5, michael@0: michael@0: /** michael@0: * Some attribute of this object is affected by a target object. michael@0: */ michael@0: CONTROLLED_BY = 0x06, michael@0: michael@0: /** michael@0: * This object is interactive and controls some attribute of a target object. michael@0: */ michael@0: CONTROLLER_FOR = 0x07, michael@0: michael@0: /** michael@0: * Content flows from this object to a target object, i.e. has content that michael@0: * flows logically to another object in a sequential way, e.g. text flow. michael@0: */ michael@0: FLOWS_TO = 0x08, michael@0: michael@0: /** michael@0: * Content flows to this object from a target object, i.e. has content that michael@0: * flows logically from another object in a sequential way, e.g. text flow. michael@0: */ michael@0: FLOWS_FROM = 0x09, michael@0: michael@0: /** michael@0: * This object is a member of a group of one or more objects. When there is michael@0: * more than one object in the group each member may have one and the same michael@0: * target, e.g. a grouping object. It is also possible that each member has michael@0: * multiple additional targets, e.g. one for every other member in the group. michael@0: */ michael@0: MEMBER_OF = 0x0a, michael@0: michael@0: /** michael@0: * This object is a sub window of a target object. michael@0: */ michael@0: SUBWINDOW_OF = 0x0b, michael@0: michael@0: /** michael@0: * This object embeds a target object. This relation can be used on the michael@0: * OBJID_CLIENT accessible for a top level window to show where the content michael@0: * areas are. michael@0: */ michael@0: EMBEDS = 0x0c, michael@0: michael@0: /** michael@0: * This object is embedded by a target object. michael@0: */ michael@0: EMBEDDED_BY = 0x0d, michael@0: michael@0: /** michael@0: * This object is a transient component related to the target object. When michael@0: * this object is activated the target object doesn't lose focus. michael@0: */ michael@0: POPUP_FOR = 0x0e, michael@0: michael@0: /** michael@0: * This object is a parent window of the target object. michael@0: */ michael@0: PARENT_WINDOW_OF = 0x0f, michael@0: michael@0: /** michael@0: * Part of a form/dialog with a related default button. It is used for michael@0: * MSAA/XPCOM, it isn't for IA2 or ATK. michael@0: */ michael@0: DEFAULT_BUTTON = 0x10, michael@0: michael@0: /** michael@0: * The target object is the containing document object. michael@0: */ michael@0: CONTAINING_DOCUMENT = 0x11, michael@0: michael@0: /** michael@0: * The target object is the topmost containing document object in the tab pane. michael@0: */ michael@0: CONTAINING_TAB_PANE = 0x12, michael@0: michael@0: /** michael@0: * The target object is the containing window object. michael@0: */ michael@0: CONTAINING_WINDOW = 0x13, michael@0: michael@0: /** michael@0: * The target object is the containing application object. michael@0: */ michael@0: CONTAINING_APPLICATION = 0x14, michael@0: michael@0: LAST = CONTAINING_APPLICATION michael@0: michael@0: MOZ_END_ENUM_CLASS(RelationType) michael@0: michael@0: } // namespace a11y michael@0: } // namespace mozilla michael@0: michael@0: #endif