Add interfaces for Aria attributes, Data attributes and Grouping. The first 2 are implemented in the UIBlocks that supports this features. Other UIBlocks will inherit the logic but will need to modify their templates to provide accessibility

This commit is contained in:
Stephen Abello
2026-08-27 10:12:16 +02:00
parent ff920ebbdc
commit c76594524b
34 changed files with 596 additions and 46 deletions

View File

@@ -407,6 +407,8 @@ class ButtonUIBlockFactory extends AbstractUIBlockFactory
}
$oButton->SetActionType($sActionType);
$oButton->SetColor($sColor);
$oButton->SetAriaAttributes($oPopupItem->GetAriaAttributes()->GetAttributes());
$oButton->SetDataAttributes($oPopupItem->GetDataAttributes()->GetAttributes());
return $oButton;
} elseif ($oPopupItem instanceof URLPopupMenuItem) {
@@ -424,6 +426,8 @@ class ButtonUIBlockFactory extends AbstractUIBlockFactory
$oButton->SetActionType($sActionType);
$oButton->SetColor($sColor);
$oButton->SetAriaAttributes($oPopupItem->GetAriaAttributes()->GetAttributes());
$oButton->SetDataAttributes($oPopupItem->GetDataAttributes()->GetAttributes());
return $oButton;
} elseif ($oPopupItem instanceof SeparatorPopupMenuItem) {
@@ -460,6 +464,8 @@ class ButtonUIBlockFactory extends AbstractUIBlockFactory
if (utils::IsNotNullOrEmptyString($oPopupItem->GetTooltip())) {
$oButton->SetTooltip($oPopupItem->GetTooltip());
}
$oButton->SetAriaAttributes($oPopupItem->GetAriaAttributes()->GetAttributes());
$oButton->SetDataAttributes($oPopupItem->GetDataAttributes()->GetAttributes());
$oButton->SetOnClickJsCode($oPopupItem->GetJsCode());
@@ -486,6 +492,8 @@ class ButtonUIBlockFactory extends AbstractUIBlockFactory
if (utils::IsNotNullOrEmptyString($oPopupItem->GetTarget())) {
$oButton->SetTarget($oPopupItem->GetTarget());
}
$oButton->SetAriaAttributes($oPopupItem->GetAriaAttributes()->GetAttributes());
$oButton->SetDataAttributes($oPopupItem->GetDataAttributes()->GetAttributes());
return $oButton;
} elseif ($oPopupItem instanceof SeparatorPopupMenuItem) {