iQuery兼容系统使用ARIA*@versionv2.3.0*网站:https://a11y.nicolas-hoffmann.net/accordion/*licenseMIT:https://gitub.com/nico3333fr/jquery-accordion-aria/blob/master/LICENSE/served.amd{exportss=工厂{工厂jQuery)w}{功能{使用严格性var默认Configss选择器 : '.js-accordion_header',板选择器 :'.js-accordion_panel',按钮选择器 :'bitton.js-accordion_header',按钮:$ ', { class: 'js-accordion__header', type: 'button' }), buttonSuffixId: '_tab', multiselectable: true, prefixClass: 'accordion', headerSuffixClass: '__title', buttonSuffixClass: '__header', panelSuffixClass: '__panel', direction: 'ltr', accordionPrefixId: 'accordion' }!var协议=函数($,选项){此.optionss=$.extends/QQ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++写字机$this.$panels = $(this.options.panelsSelector, this.$wrapper)!this.initAttributes()!this.initEvents()!}!协议.prototype.initAtrites=函数(){此.$brapper.atr{{ble:tblist//id生成,如果不显示此.$brapper.each.} }, this))!$panels.eachvar Exheader =$(this.options.header选择器,$panel)var $button = this.options.button.clone().text($header.text())!$header.attr('tabindex', '0').addClass(this.options.prefixClass + this.options.headerSuffixClass)!$panel.before($button)!var面板Id=$panel.atrval按钮Id+此.options.buttonfixId$button.attr({ 'aria-controls': panelId, 'aria-expanded': 'false', 'role': 'tab', 'id': buttonId, 'tabindex': '-1', 'aria-selected': 'false' }).addClass(this.options.prefixClass + this.options.buttonSuffixClass)!spanel.atr({iblishClass+gs.options.pellsixClass)//如果默认打开$panel.atr({'aria-hidden':'false'})//init优先焦点if(index##0){$button.reveAttr} }, this))!this.$buttons = $(this.options.buttonsSelector, this.$wrapper)!}!optotype.initEvents=函数(){此.$brapper.on.this.$wrapper.on('click', this.options.buttonsSelector, $.proxy(this.clickButtonEventHandler, this))!this.$wrapper.on('keydown', this.options.buttonsSelector, $.proxy(this.keydownButtonEventHandler, this))!this.$wrapper.on('keydown', this.options.panelsSelector, $.proxy(this.keydownPanelEventHandler, this))!}!oncion.proto类型.pointButtonEventHandler=函数(e){var元button=$$(this.options.buttons选择器, this.$brapper.)atr({tabindex:++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++exbitton.atr({'aria-select':' true','tabindex':Null}}!oncion.proto类型.clockbuttonEventHandler=函数(e){var元button=$var $panel =$#+$button.atrthis.$buttons.attr('aria-selected', 'false')!$button.attr('aria-selected', 'true')!/打开或关闭{//闭合$button.atr$panel.attr('aria-hidden', 'false')!{//打开$bitton.atr$panel.attr('aria-hidden', 'true')!{genels.not.atrthis.$buttons.not($button).attr('aria-expanded', 'false')!setTimeout(函数){$button.oclection}, 0)!e.stopPropagation()!e.preventDefault()!}!oncion.prototype.keydown按钮Handler=函数(e){var元button=$Var元优先按钮=.$buttons.firstVar ExlastButton = this.$buttons.Lastvar $prevButton = $button.prevAll(this.options.buttonsSelector).first()!var $nextButton = $button.nextAll(this.options.buttonsSelector).first()!万元目标=无效vark=此.options.{ prev: [38, 37], // up & left next: [40, 39], // down & right first: 36, // home last: 35 // end } : { prev: [38, 39], // up & left next: [40, 37], // down & right first: 36, // home last: 35 // end }!var allKeyCode=.concat(k.prev,k.next,k.first,k.last)if.inAray(e.keyCode)+#0+#e.ctrlKeyif(e.keyCode##36)//击尾标签++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++//按下或左标签+++++++++++++++++++++++++++++++++USLSTButton:$prevButton//按下或右标签+++++++++++++++++++ExextButtonwjjjjjjjjjjjjjjjjjje.default} }!oncion.prototype.keydownPanelEventHandler=函数(e){var$panel=$(e.target).closest(this.options.panels选择器)Var $button=$#+$panel.atrvar $firstButton = this.$wrapper.find(this.options.buttonsSelector).first()!var $lastButton = this.$wrapper.find(this.options.buttonsSelector).last()!var $prevButton = $button.prevAll(this.options.buttonsSelector).first()!var $nextButton = $button.nextAll(this.options.buttonsSelector).first()!万元目标=无效/进+ctrl+ctrkey//crlKey+ctrlUSLSTButton:$prevButton//按页+ctrl+ctrlExextButtonwjjjjjjjjjjjjjjjjjje.preventDefault()!} }!协议.prototype.goCheader=函数($目标){world.atr/setTimeout(函数){$target.object()}, 0)!}!var PLUGIN表示协议$.fn[PLUGIN]=函数 {var选项=$.extendeach(函数){var$el=$var专用s={多选:$el.atr虚选. 可多选前缀Cliss:$.atr('数据记录前缀类'):选项.pixClass,方向:$el.cloosttrtl选项.direction}objects=$.extends$.datas})!}!$.fn[PLUGIN].defats=默认Config}));