2424import com .vaadin .flow .component .ComponentEvent ;
2525import com .vaadin .flow .component .ComponentEventListener ;
2626import com .vaadin .flow .component .HasAriaLabel ;
27+ import com .vaadin .flow .component .HasAriaRole ;
2728import com .vaadin .flow .component .HasComponents ;
2829import com .vaadin .flow .component .Synchronize ;
2930import com .vaadin .flow .component .Tag ;
5051@ NpmPackage (value = "@vaadin/popover" , version = "25.2.0" )
5152@ JsModule ("@vaadin/popover/src/vaadin-popover.js" )
5253@ JsModule ("./vaadin-popover/popover.ts" )
53- public class Popover extends Component implements HasAriaLabel , HasComponents ,
54- HasThemeVariant <PopoverVariant > {
54+ public class Popover extends Component implements HasAriaLabel , HasAriaRole ,
55+ HasComponents , HasThemeVariant <PopoverVariant > {
5556
5657 private static Integer defaultHideDelay ;
5758 private static Integer defaultFocusDelay ;
@@ -76,7 +77,7 @@ public Popover() {
7677 getElement ().setProperty ("opened" , false );
7778
7879 updateTrigger ();
79- setRole ("dialog" );
80+ setAriaRole ("dialog" );
8081
8182 getElement ().addPropertyChangeListener ("opened" , event -> fireEvent (
8283 new OpenedChangeEvent (this , event .isUserOriginated ())));
@@ -384,47 +385,51 @@ public void setTabFocusEnabled(boolean tabFocusEnabled) {
384385 *
385386 * @param role
386387 * the role to set
388+ * @deprecated Use {@link #setAriaRole(String)} instead
387389 */
390+ @ Deprecated (since = "25.3" , forRemoval = true )
388391 public void setRole (String role ) {
389392 Objects .requireNonNull (role , "Role cannot be null" );
390393
391- getElement (). setProperty ( "role" , role );
394+ setAriaRole ( role );
392395 }
393396
394397 /**
395398 * Sets the ARIA role for the popover, used by screen readers.
396399 *
397400 * @param role
398401 * the role to set
399- * @deprecated Use {@link #setRole (String)} instead
402+ * @deprecated Use {@link #setAriaRole (String)} instead
400403 */
401404 @ Deprecated (since = "25.0" , forRemoval = true )
402405 public void setOverlayRole (String role ) {
403406 Objects .requireNonNull (role , "Role cannot be null" );
404407
405- setRole (role );
408+ setAriaRole (role );
406409 }
407410
408411 /**
409412 * Gets the ARIA role for the popover element, used by screen readers.
410413 * Defaults to {@code dialog}.
411414 *
412415 * @return the role
416+ * @deprecated Use {@link #getAriaRole()} instead
413417 */
418+ @ Deprecated (since = "25.3" , forRemoval = true )
414419 public String getRole () {
415- return getElement ().getProperty ( "role" );
420+ return getAriaRole ().orElse ( null );
416421 }
417422
418423 /**
419424 * Gets the ARIA role for the popover, used by screen readers. Defaults to
420425 * {@code dialog}.
421426 *
422427 * @return the role
423- * @deprecated Use {@link #getRole ()} instead
428+ * @deprecated Use {@link #getAriaRole ()} instead
424429 */
425430 @ Deprecated (since = "25.0" , forRemoval = true )
426431 public String getOverlayRole () {
427- return getRole ( );
432+ return getAriaRole (). orElse ( null );
428433 }
429434
430435 /**
0 commit comments