1 /**
  2  * @fileOverview render aria from menu according to current menuitem
  3  * @author yiminghe@gmail.com
  4  */
  5 KISSY.add("menu/menuRender", function(S, UA, Component) {
  6 
  7     return Component.Render.extend({
  8 
  9         renderUI:function() {
 10             var el = this.get("el");
 11             el .attr("role", "menu")
 12                 .attr("aria-haspopup", true);
 13             if (!el.attr("id")) {
 14                 el.attr("id", S.guid("ks-menu"));
 15             }
 16         },
 17 
 18         _uiSetActiveItem:function(v) {
 19             var el = this.get("el");
 20             if (v) {
 21                 var menuItemEl = v.get("el"),
 22                     id = menuItemEl.attr("id");
 23                 el.attr("aria-activedescendant", id);
 24                 // 会打印重复 ,每个子菜单都会打印,然后冒泡至父菜单,再打印,和该 menuitem 所处层次有关系
 25                 //S.log("menuRender :" + el.attr("id") + " _uiSetActiveItem : " + v.get("content"));
 26             } else {
 27                 el.attr("aria-activedescendant", "");
 28                 //S.log("menuRender :" + el.attr("id") + " _uiSetActiveItem : " + "");
 29             }
 30         },
 31 
 32         containsElement:function(element) {
 33             var el = this.get("el");
 34             return el[0] === element || el.contains(element);
 35         }
 36     }, {
 37         ATTRS:{
 38             activeItem:{}
 39         }
 40     });
 41 }, {
 42     requires:['ua','component']
 43 });