Ticket #3451: labelledby.patch

File labelledby.patch, 1.5 KB (added by Scott González, 13 years ago)
  • Users/sgonzale/Documents/workspace/jQuery

     
    4949                                        height: '100%'
    5050                                }),
    5151                       
    52                         title = options.title || ' ',
    53                         uiDialogTitlebar = (this.uiDialogTitlebar =
    54                                 $('<div class="ui-dialog-titlebar"/>'))
    55                                 .append('<span class="ui-dialog-title">' + title + '</span>')
     52                        uiDialogTitlebar = (this.uiDialogTitlebar = $('<div/>'))
     53                                .addClass('ui-dialog-titlebar')
    5654                                .append('<a href="#" class="ui-dialog-titlebar-close"><span>X</span></a>')
    5755                                .prependTo(uiDialogContainer),
    5856                       
     57                        title = options.title || '&nbsp;',
     58                        titleId = $.ui.dialog.getTitleId(this.element),
     59                        uiDialogTitle = $('<span/>')
     60                                .addClass('ui-dialog-title')
     61                                .attr('id', titleId)
     62                                .html(title)
     63                                .prependTo(uiDialogTitlebar),
     64                       
    5965                        uiDialog = (this.uiDialog = uiDialogContainer.parent())
    6066                                .appendTo(document.body)
    6167                                .hide()
     68                                // ARIA support
     69                                .attr({
     70                                        role: 'dialog',
     71                                        'aria-labelledby': titleId
     72                                })
    6273                                .addClass('ui-dialog')
    6374                                .addClass(options.dialogClass)
    6475                                // add content classes to dialog
     
    407418       
    408419        getter: 'isOpen',
    409420       
     421        uuid: 0,
     422        getTitleId: function($el) {
     423                return 'ui-dialog-title-' + ($el.attr('id') || ++this.uuid);
     424        },
     425       
    410426        overlay: function(dialog) {
    411427                this.$el = $.ui.dialog.overlay.create(dialog);
    412428        }