public static void connectFormControlWithLabel (@Nullable final IHCElement <?> aCtrl, @Nullable final HCFormLabel aLabel) { // Set "aria-labelledby" if (aCtrl != null && aLabel != null) { aLabel.setFor (aCtrl); aCtrl.customAttrs ().setAriaLabeledBy (aLabel); } }
public static void connectFormControlsWithLabel (@Nullable final Iterable <? extends IHCElement <?>> aCtrls, @Nullable final HCFormLabel aLabel) { // Set "aria-labelledby" if (aCtrls != null && aLabel != null) { boolean bSetLabel = false; for (final IHCElement <?> aCurCtrl : aCtrls) { if (!bSetLabel) { aLabel.setFor (aCurCtrl); bSetLabel = true; } aCurCtrl.customAttrs ().setAriaLabeledBy (aLabel); } } }
public BootstrapDropdown (@Nonnull final EBootstrapDropdownType eDropdownType, @Nonnull final IHCElementWithChildren <?> aSelector, @Nonnull final BootstrapDropdownMenu aMenu, final boolean bAddDropDownToggle) { ValueEnforcer.notNull (aSelector, "Selector"); ValueEnforcer.notNull (aMenu, "Menu"); addClass (eDropdownType); if (aSelector instanceof IHCButton <?>) { // If this is a dropdown for a button, add this class so that the // alignment of buttons is correct addClass (CBootstrapCSS.BTN_GROUP); } // Link selector and menu aMenu.customAttrs ().setAriaLabeledBy (aSelector); if (bAddDropDownToggle) { // Add dropdown caret makeDropdownToggle (aSelector); } else { // Required for drop down to work :) aSelector.customAttrs ().setDataAttr ("toggle", "dropdown"); } // Add children addChild (aSelector); addChild (aMenu); }
public void addNavDropDown (@Nonnull final IHCNode aLabelText, @Nonnull final BootstrapDropdownMenu aDropDown) { final BootstrapNavLink aLabel = new BootstrapNavLink (); aLabel.addClass (CBootstrapCSS.DROPDOWN_TOGGLE).ensureID ().setRole (EHTMLRole.BUTTON); aLabel.customAttrs ().setDataAttr ("toggle", "dropdown"); aLabel.customAttrs ().setAriaHasPopup (true); aLabel.customAttrs ().setAriaExpanded (true); aLabel.addChild (aLabelText); aDropDown.customAttrs ().setAriaLabeledBy (aLabel); addChild (aLabel); addChild (aDropDown); m_bIsDropDown = true; }
aMenu.customAttrs ().setAriaLabeledBy (aButton);
public BootstrapCardCollapsible (@Nullable final IHCNode aHeaderText, final boolean bIsOpen) { m_aHeader = addAndReturnChild (new BootstrapCardHeader ()); // Collapsible div final HCDiv aCollapseDiv = addAndReturnChild (new HCDiv ().ensureID ().addClass (CBootstrapCSS.COLLAPSE)); if (bIsOpen) aCollapseDiv.addClass (CBootstrapCSS.SHOW); aCollapseDiv.customAttrs ().setAriaLabeledBy (m_aHeader); m_aBody = aCollapseDiv.addAndReturnChild (new BootstrapCardBody ()); // Toggle in header final HCA aToggle = m_aHeader.addAndReturnChild (new HCA ().setHref (new SimpleURL ("#" + aCollapseDiv.getID ())) .addClass (CBootstrapCSS.D_BLOCK)); aToggle.customAttrs ().setDataAttr ("toggle", "collapse"); aToggle.customAttrs ().setAriaExpanded (bIsOpen); aToggle.customAttrs ().setAriaControls (aCollapseDiv.getID ()); aToggle.addChild (aHeaderText); aToggle.addChild (EFontAwesome4Icon.CHEVRON_DOWN.getAsNode ().addClass (CBootstrapCSS.FLOAT_RIGHT)); if (!bIsOpen) aToggle.addClass (CSS_CLASS_COLLAPSED); }
@Override protected void onFinalizeNodeState (@Nonnull final IHCConversionSettingsToNode aConversionSettings, @Nonnull final IHCHasChildrenMutable <?, ? super IHCNode> aTargetNode) { super.onFinalizeNodeState (aConversionSettings, aTargetNode); addClass (CBootstrapCSS.MODAL).setRole (EHTMLRole.DIALOG); customAttrs ().setAriaHidden (true); if (m_bFade) addClass (CBootstrapCSS.FADE); final HCDiv aDialog = addAndReturnChild (new HCDiv ().addClasses (CBootstrapCSS.MODAL_DIALOG, m_eSize)); final HCDiv aContent = aDialog.addAndReturnChild (new HCDiv ().addClass (CBootstrapCSS.MODAL_CONTENT) .setID (_getContentID ())); if (m_aHeader != null) { final String sTitleID = _getTitleID (); customAttrs ().setAriaLabeledBy (sTitleID); final HCDiv aHeader = aContent.addAndReturnChild (new HCDiv ().addClass (CBootstrapCSS.MODAL_HEADER)); if (m_bShowClose) { final BootstrapCloseIcon aCloseIcon = new BootstrapCloseIcon (); aCloseIcon.customAttrs ().setDataAttr ("dismiss", "modal"); aHeader.addChild (aCloseIcon); } aHeader.addChild (new HCH4 ().addClass (CBootstrapCSS.MODAL_TITLE).setID (sTitleID).addChild (m_aHeader)); } if (m_aBody != null) aContent.addChild (new HCDiv ().addClass (CBootstrapCSS.MODAL_BODY).addChild (m_aBody)); if (m_aFooter != null) aContent.addChild (new HCDiv ().addClass (CBootstrapCSS.MODAL_FOOTER).addChild (m_aFooter)); }
customAttrs ().setAriaLabeledBy (sTitleID); final HCDiv aHeader = aModalContent.addAndReturnChild (new HCDiv ().addClass (CBootstrapCSS.MODAL_HEADER)); aHeader.addChild (new HCH5 ().addClass (CBootstrapCSS.MODAL_TITLE).setID (sTitleID).addChild (m_aHeader));
aCurCtrl.customAttrs ().setAriaLabeledBy (aLabel);