public interface CustomTabElements
<input> element is written into some Canvas as part of its
contents, a developer would likely want this element to be included in the tab sequence for the
page in its intuitive spot (between the canvas it is embedded in and any subsequent canvases on
To achieve this a developer needs to take several steps:
written into a Canvas, the developer would choose an arbitrary identifying string for the
input element, and call the
TabIndexManager.addTarget() API, passing in the
ID of the canvas in which it is embedded as the
to retrieve a a numeric tabIndex to apply to the element. This can be used when generating
the HTML to write out for the element.
moving the canvas containing the item to a new
parent would cause this value to change. The
parameter of the
TabIndexManager.addTarget() method is a notification which will be called when this
occurs, and may be used to update the element's tab index if it has already been written
into the DOM when the value changes.
click mask is up, using the Tab key to
navigate between editors embedded in a ListGrid during
grid editing, and for any focusable UI embedded in a canvas where
Canvas.alwaysManageFocusNavigation has been explicitly set to true.
shiftFocusCallback parameter should be passed to
registering an ID for the custom element. This is a callback developers should implement
to put native focus into the target (or return false if this is not currently possible
for some reason). It will be invoked automatically by the system when focus is being
TabIndexManager.useExplicitFocusNavigation(), passing in the ID that was registered via
if that returns true explicitly calling
preventing default native behavior by invoking preventDefault() on the native event object.