From: Jörn Zaefferer Date: Fri, 26 Oct 2012 00:30:10 +0000 (-0400) Subject: Dialog: Improve accessibilty - add an aria-describedby attribute on the dialog if... X-Git-Tag: 1.10.0-beta.1~131 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=2a887e43213c4dbb21509b670cf5dc8ac2c67573;p=jquery-ui.git Dialog: Improve accessibilty - add an aria-describedby attribute on the dialog if there is nothing yet in the dialog content. Partial fix for: --- diff --git a/ui/jquery.ui.dialog.js b/ui/jquery.ui.dialog.js index 07c5c7cb6..892dd72b0 100644 --- a/ui/jquery.ui.dialog.js +++ b/ui/jquery.ui.dialog.js @@ -156,6 +156,15 @@ $.widget("ui.dialog", { "aria-labelledby": uiDialogTitle.attr( "id" ) }); + // We assume that any existing aria-describedby attribute means + // that the dialog content is marked up properly + // otherwise we brute force the content as the description + if ( !this.element.find( "[aria-describedby]" ).length ) { + uiDialog.attr({ + "aria-describedby": this.element.uniqueId().attr( "id" ) + }); + } + uiDialogTitlebar.find( "*" ).add( uiDialogTitlebar ).disableSelection(); this._hoverable( uiDialogTitlebarClose ); this._focusable( uiDialogTitlebarClose ); @@ -205,6 +214,7 @@ $.widget("ui.dialog", { } this.uiDialog.hide(); this.element + .removeUniqueId() .removeClass( "ui-dialog-content ui-widget-content" ) .hide() .appendTo( "body" );