Changeset 175


Ignore:
Timestamp:
05/13/13 20:08:04 (6 years ago)
Author:
nhoyt
Message:
  • view-details.js: Added WCAG Success Criteria and Information Links to Rule Information; moved XHTML code for Details Summary and Rule Information to separate functions.
  • view-details.xul: Changed ID ainspector-rule-details to ainspector-details-summary
  • ai-sidebar.properties: Renamed info.criteria to info.wcag-sc and info.links to info.info-links
  • ai-sidebar.css: Changed ID reference ainspector-rule-details to ainspector-details-summary
Location:
trunk/proto-13/chrome
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/proto-13/chrome/content/view-details.js

    r174 r175  
    1717 * @memberOf ainspectorSidebar 
    1818 * 
    19  * @desc  
     19 * @desc Top-level function for adding data/content to Rule Details view. 
    2020 */ 
    2121 
     
    2525  var index = tree.currentIndex; 
    2626 
    27   var getHTML = OAA_WEB_ACCESSIBILITY_UTILS.createXHTMLElement; 
    28   var h2, p, ul, li; 
    29   var h2FirstStyle = ainspector.h2FirstStyle; 
    30   var h2Style = ainspector.h2Style; 
    31   var pStyle  = ainspector.pStyle; 
    32   var ulStyle = ainspector.ulStyle; 
    33  
    3427  // construct and set view title 
    3528  var titleValue = ainspectorSidebar.getViewTitle(parent.AINSPECTOR.previousView); 
    3629  var titleSuffix = ainspectorSidebar.nlsProperties.getString('view.title.details-suffix'); 
     30  // for all views except ALL_RULES use suffix 
    3731  ainspectorSidebar.viewTitle.value = 
    38     parent.AINSPECTOR.previousView === ainspector.viewEnum.ALL_RULES ? 
    39     titleValue : titleValue + titleSuffix; 
    40  
    41   // get prefix labels for rule info 
    42   var labels = ainspectorSidebar.getRuleInfoLabels(); 
    43  
    44   // get selected rule info 
     32    parent.AINSPECTOR.previousView !== ainspector.viewEnum.ALL_RULES ? 
     33    titleValue + titleSuffix : 
     34    titleValue; 
     35 
     36  // get selected RuleResult object 
    4537  var ruleResult = ainspectorSidebar.rulesTable[index].filteredResult; 
    4638 
    47   // set the vbox XHTML content 
    48   var vbox1 = document.getElementById("ainspector-rule-details"); 
    49   ainspector.clearContent(vbox1); 
    50  
    51   h2 = getHTML("h2", labels.SUMMARY, h2FirstStyle); 
    52   vbox1.appendChild(h2); 
    53   p = getHTML("p", ruleResult.getRuleSummary(), pStyle); 
    54   vbox1.appendChild(p); 
    55  
    56   h2 = getHTML("h2", labels.RESULT, h2Style); 
    57   vbox1.appendChild(h2); 
    58   p = getHTML("p", ruleResult.getResultMessage(), pStyle); 
    59   vbox1.appendChild(p); 
    60  
    61   // set the Rule Information panel XHTML content 
    62   var vbox2 = document.getElementById("ainspector-details-rule-info"); 
    63   ainspector.clearContent(vbox2); 
    64  
    65   h2 = getHTML("h2", labels.DEFINITION, h2FirstStyle); 
    66   vbox2.appendChild(h2); 
    67   p = getHTML("p", ruleResult.getRuleDefinition(), pStyle); 
    68   vbox2.appendChild(p); 
    69  
    70   h2 = getHTML("h2", labels.PURPOSE, h2Style); 
    71   vbox2.appendChild(h2); 
    72   p = getHTML("p", ruleResult.getPurpose(), pStyle); 
    73   vbox2.appendChild(p); 
    74  
    75   h2 = getHTML("h2", labels.TECHNIQUES, h2Style); 
    76   vbox2.appendChild(h2); 
    77  
    78   ul = getHTML("ul", null, ulStyle); 
    79   var techniques = ruleResult.getTechniques(); 
    80   for (var i = 0; i < techniques.length; i++) { 
    81     li = getHTML("li", techniques[i], null); 
    82     ul.appendChild(li) 
    83   } 
    84   vbox2.appendChild(ul); 
    85  
    86   h2 = getHTML("h2", labels.TARGET_ELEMENTS, h2Style); 
    87   vbox2.appendChild(h2); 
    88   p = getHTML("p", ruleResult.getTargetResources().join(", "), pStyle); 
    89   vbox2.appendChild(p); 
     39  // fill content areas 
     40  ainspectorSidebar.setDetailsSummaryContent(ruleResult); 
     41  ainspectorSidebar.setDetailsRuleInfoContent(ruleResult); 
    9042 
    9143  // select rule details template 
     
    10254 
    10355ainspectorSidebar.clearDetailsView = function () { 
    104   var vbox1 = document.getElementById("ainspector-rule-details"); 
    105   ainspector.clearContent(vbox1); 
    106  
    107   var vbox2 = document.getElementById("ainspector-details-rule-info"); 
    108   ainspector.clearContent(vbox2); 
     56  var vboxSummary = document.getElementById("ainspector-details-summary"); 
     57  ainspector.clearContent(vboxSummary); 
     58 
     59  var vboxRuleInfo = document.getElementById("ainspector-details-rule-info"); 
     60  ainspector.clearContent(vboxRuleInfo); 
    10961}; 
    11062 
     
    11466 * @memberOf ainspectorSidebar 
    11567 * 
    116  * @desc  
     68 * @desc Helper function for getting Rule Information labels from properties file. 
    11769 */ 
    11870 
     
    12577    RESULT:          nls.getString("info.result"), 
    12678    PURPOSE:         nls.getString("info.purpose"), 
    127     TECHNIQUES:      nls.getString("info.techniques") 
    128   } 
    129 }; 
     79    TECHNIQUES:      nls.getString("info.techniques"), 
     80    WCAG_SC:         nls.getString("info.wcag-sc"), 
     81    INFO_LINKS:      nls.getString("info.info-links") 
     82  } 
     83}; 
     84 
     85/** 
     86 * @function setDetailsSummaryContent 
     87 * 
     88 * @memberOf ainspectorSidebar 
     89 * 
     90 * @desc Set the content for top-most vbox of Rule Details. 
     91 */ 
     92 
     93ainspectorSidebar.setDetailsSummaryContent = function (ruleResult) { 
     94  var getHTML = OAA_WEB_ACCESSIBILITY_UTILS.createXHTMLElement; 
     95  var h2, p; 
     96  var h2FirstStyle = ainspector.h2FirstStyle; 
     97  var h2Style = ainspector.h2Style; 
     98  var pStyle  = ainspector.pStyle; 
     99 
     100  var vbox = document.getElementById("ainspector-details-summary"); 
     101  ainspector.clearContent(vbox); 
     102 
     103  // get prefix labels 
     104  var labels = ainspectorSidebar.getRuleInfoLabels(); 
     105 
     106  // set XHTML content 
     107  h2 = getHTML("h2", labels.SUMMARY, h2FirstStyle); 
     108  vbox.appendChild(h2); 
     109  p = getHTML("p", ruleResult.getRuleSummary(), pStyle); 
     110  vbox.appendChild(p); 
     111 
     112  h2 = getHTML("h2", labels.RESULT, h2Style); 
     113  vbox.appendChild(h2); 
     114  p = getHTML("p", ruleResult.getResultMessage(), pStyle); 
     115  vbox.appendChild(p); 
     116}; 
     117 
     118/** 
     119 * @function setDetailsRuleInfoContent 
     120 * 
     121 * @memberOf ainspectorSidebar 
     122 * 
     123 * @desc Set the content for the Rule Information vbox/tabpanel of Rule Details. 
     124 */ 
     125 
     126ainspectorSidebar.setDetailsRuleInfoContent = function (ruleResult) { 
     127  var getHTML = OAA_WEB_ACCESSIBILITY_UTILS.createXHTMLElement; 
     128  var h2, p, ul, li, a; 
     129  var h2FirstStyle = ainspector.h2FirstStyle; 
     130  var h2Style = ainspector.h2Style; 
     131  var pStyle  = ainspector.pStyle; 
     132  var ulStyle = ainspector.ulStyle; 
     133 
     134  var vbox = document.getElementById("ainspector-details-rule-info"); 
     135  ainspector.clearContent(vbox); 
     136 
     137  // get prefix labels 
     138  var labels = ainspectorSidebar.getRuleInfoLabels(); 
     139 
     140  // Definition 
     141  h2 = getHTML("h2", labels.DEFINITION, h2FirstStyle); 
     142  vbox.appendChild(h2); 
     143  p = getHTML("p", ruleResult.getRuleDefinition(), pStyle); 
     144  vbox.appendChild(p); 
     145 
     146  // Purpose 
     147  h2 = getHTML("h2", labels.PURPOSE, h2Style); 
     148  vbox.appendChild(h2); 
     149  p = getHTML("p", ruleResult.getPurpose(), pStyle); 
     150  vbox.appendChild(p); 
     151 
     152  // Target Elements 
     153  h2 = getHTML("h2", labels.TARGET_ELEMENTS, h2Style); 
     154  vbox.appendChild(h2); 
     155  p = getHTML("p", ruleResult.getTargetResources().join(", "), pStyle); 
     156  vbox.appendChild(p); 
     157 
     158  // Techniques 
     159  h2 = getHTML("h2", labels.TECHNIQUES, h2Style); 
     160  vbox.appendChild(h2); 
     161 
     162  ul = getHTML("ul", null, ulStyle); 
     163  var techniques = ruleResult.getTechniques(); 
     164  for (var i = 0; i < techniques.length; i++) { 
     165    li = getHTML("li", techniques[i], null); 
     166    ul.appendChild(li); 
     167  } 
     168  vbox.appendChild(ul); 
     169 
     170  // WCAG Success Criteria 
     171  h2 = getHTML("h2", labels.WCAG_SC, h2Style); 
     172  vbox.appendChild(h2); 
     173 
     174  // Primary Criterion 
     175  ul = getHTML("ul", null, ulStyle); 
     176  var primary = ruleResult.getPrimarySuccessCriterion(); 
     177  li = getHTML("li", null, null); 
     178  a = getHTML("a", primary.title, { 
     179    "href": primary.url, 
     180    "target": "_blank", 
     181    "style": "text-decoration: underline" 
     182  }); 
     183  li.appendChild(a); 
     184  ul.appendChild(li);   
     185 
     186  // Related Criteria 
     187  var related = ruleResult.getRelatedSuccessCriteria(); 
     188  for (var j = 0; j < related.length; j++) { 
     189    li = getHTML("li", null, null); 
     190    a = getHTML("a", related[j].title, { 
     191      "href": related[j].url, 
     192      "target": "_blank", 
     193      "style": "text-decoration: underline" 
     194    }); 
     195    li.appendChild(a); 
     196    ul.appendChild(li); 
     197  } 
     198  vbox.appendChild(ul); 
     199 
     200  // Informational Links 
     201  h2 = getHTML("h2", labels.INFO_LINKS, h2Style); 
     202  vbox.appendChild(h2); 
     203 
     204  ul = getHTML("ul", null, ulStyle); 
     205  var infoLinks = ruleResult.getInformationalLinks(); 
     206  for (var k = 0; k < infoLinks.length; k++) { 
     207    li = getHTML("li", null, null); 
     208    a = getHTML("a", infoLinks[k].label, { 
     209      "href": infoLinks[k].url, 
     210      "target": "_blank", 
     211      "style": "text-decoration: underline" 
     212    }); 
     213    li.appendChild(a); 
     214    ul.appendChild(li); 
     215  } 
     216  vbox.appendChild(ul); 
     217}; 
  • trunk/proto-13/chrome/content/view-details.xul

    r173 r175  
    1212    <spacer height="8"/> 
    1313 
    14     <vbox id="ainspector-rule-details" 
     14    <vbox id="ainspector-details-summary" 
    1515      width="360" height="108"/> 
    1616 
  • trunk/proto-13/chrome/locale/en-US/ai-sidebar.properties

    r172 r175  
    3333info.purpose         = PURPOSE 
    3434info.techniques      = TECHNIQUES 
    35 info.criteria        = WCAG 2.0 SUCCESS CRITERIA 
    36 info.links           = INFORMATIONAL LINKS 
     35info.wcag-sc         = WCAG SUCCESS CRITERIA 
     36info.info-links      = ADDITIONAL INFO 
    3737info.noSelection     = nothing selected 
    3838 
  • trunk/proto-13/chrome/skin/ai-sidebar.css

    r173 r175  
    104104 
    105105vbox#ainspector-selected-rule, 
    106 vbox#ainspector-rule-details { 
     106vbox#ainspector-details-summary { 
    107107  overflow-y: scroll; 
    108108  border: 1px solid #bbb; 
Note: See TracChangeset for help on using the changeset viewer.