e79aa3c0ed
Former-commit-id: a2155e9bd80020e49e72e86c44da02a8ac0e57a4
244 lines
8.3 KiB
C#
244 lines
8.3 KiB
C#
//------------------------------------------------------------------------------
|
|
// <copyright file="VerificationAttribute.cs" company="Microsoft">
|
|
// Copyright (c) Microsoft Corporation. All rights reserved.
|
|
// </copyright>
|
|
//------------------------------------------------------------------------------
|
|
|
|
namespace System.Web.UI {
|
|
|
|
using System;
|
|
using System.ComponentModel;
|
|
|
|
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Property, AllowMultiple=true)]
|
|
public sealed class VerificationAttribute : Attribute {
|
|
|
|
private string _guideline; // "WCAG 1.1", "ADA508"
|
|
private string _checkpoint; //10.1: in rule and used by checker
|
|
private VerificationReportLevel _reportLevel;//VerificationReportLevel.Error| Warning| Guideline
|
|
private int _priority; //1,2,3,4
|
|
private string _message; //"something is in error"
|
|
private VerificationRule _rule; //VerificationRule.Required | Prohibited
|
|
private string _conditionalProperty; //"foo"
|
|
private VerificationConditionalOperator _conditionalOperator; //VerificationConditionalOperator.Equals | NotEquals
|
|
private string _conditionalValue; //eg. String.Empty
|
|
private string _guidelineUrl;
|
|
|
|
/* minimal constructor
|
|
* implies VerificationRule.Equals
|
|
* ConditionalProperty = String.Empty
|
|
* VerificationConditionalOperator.Equals
|
|
* ConditionalValue = String.Empty
|
|
* GuidelineUrl = String.Empty
|
|
*/
|
|
public VerificationAttribute (
|
|
string guideline,
|
|
string checkpoint,
|
|
VerificationReportLevel reportLevel,
|
|
int priority,
|
|
string message) :
|
|
this(guideline,
|
|
checkpoint,
|
|
reportLevel,
|
|
priority,
|
|
message,
|
|
VerificationRule.Required, /*VerificationRule*/
|
|
String.Empty, /*ConditionalProperty*/
|
|
VerificationConditionalOperator.Equals,
|
|
String.Empty, /*ConditionalValue*/
|
|
String.Empty /*GuidelineUrl*/) {
|
|
}
|
|
|
|
/* constructor that implies
|
|
* ConditionalProperty = String.Empty
|
|
* VerificationConditionalOperator.Equals
|
|
* ConditionalValue = String.Empty
|
|
* GuidelineUrl = String.Empty
|
|
*/
|
|
/*
|
|
public VerificationAttribute (
|
|
string guideline,
|
|
string checkpoint,
|
|
VerificationReportLevel reportLevel,
|
|
int priority,
|
|
string message,
|
|
VerificationRule rule) :
|
|
this(guideline,
|
|
checkpoint,
|
|
reportLevel,
|
|
priority,
|
|
message,
|
|
rule,
|
|
String.Empty, //ConditionalProperty
|
|
VerificationConditionalOperator.Equals,
|
|
String.Empty, //ConditionalValue
|
|
String.Empty) { //GuidelineUrl
|
|
}
|
|
|
|
*/
|
|
|
|
/*specifying just a ConditionalProperty implies:
|
|
* VerificationConditionalOperator.NotEquals
|
|
* ConditionalValue = String.Empty
|
|
* GuidelineUrl = String.Empty
|
|
*/
|
|
public VerificationAttribute (
|
|
string guideline,
|
|
string checkpoint,
|
|
VerificationReportLevel reportLevel,
|
|
int priority,
|
|
string message,
|
|
VerificationRule rule,
|
|
string conditionalProperty) :
|
|
this(guideline,
|
|
checkpoint,
|
|
reportLevel,
|
|
priority,
|
|
message,
|
|
rule,
|
|
conditionalProperty,
|
|
VerificationConditionalOperator.NotEquals,
|
|
String.Empty, /*ConditionalValue*/
|
|
String.Empty /*GuidelineUrl*/) {
|
|
}
|
|
|
|
/*implies GuidelineUrl = String.Empty */
|
|
internal VerificationAttribute (
|
|
string guideline,
|
|
string checkpoint,
|
|
VerificationReportLevel reportLevel,
|
|
int priority,
|
|
string message,
|
|
VerificationRule rule,
|
|
string conditionalProperty,
|
|
VerificationConditionalOperator conditionalOperator,
|
|
string conditionalValue) :
|
|
this(guideline,
|
|
checkpoint,
|
|
reportLevel,
|
|
priority,
|
|
message,
|
|
rule,
|
|
conditionalProperty,
|
|
conditionalOperator,
|
|
conditionalValue,
|
|
String.Empty /*GuidelineUrl*/) {
|
|
}
|
|
|
|
public VerificationAttribute(
|
|
string guideline,
|
|
string checkpoint,
|
|
VerificationReportLevel reportLevel,
|
|
int priority,
|
|
string message,
|
|
VerificationRule rule,
|
|
string conditionalProperty,
|
|
VerificationConditionalOperator conditionalOperator,
|
|
string conditionalValue,
|
|
string guidelineUrl) {
|
|
|
|
_guideline = guideline;
|
|
_checkpoint = checkpoint;
|
|
_reportLevel = reportLevel;
|
|
_priority = priority;
|
|
_message = message;
|
|
_rule = rule;
|
|
_conditionalProperty = conditionalProperty;
|
|
_conditionalOperator = conditionalOperator;
|
|
_conditionalValue = conditionalValue;
|
|
_guidelineUrl = guidelineUrl;
|
|
}
|
|
|
|
private VerificationAttribute() {
|
|
}
|
|
|
|
//WCAG 1.1, ADA508, etc.
|
|
public string Guideline {
|
|
get {
|
|
return _guideline;
|
|
}
|
|
}
|
|
|
|
//10.1, 12.4, etc.
|
|
public string Checkpoint {
|
|
get {
|
|
return _checkpoint;
|
|
}
|
|
}
|
|
|
|
//VerificationReportLevel.Error | Warning | Guideline
|
|
public VerificationReportLevel VerificationReportLevel {
|
|
get {
|
|
return _reportLevel;
|
|
}
|
|
}
|
|
|
|
//1, 2, 3, 4, etc.
|
|
public int Priority {
|
|
get {
|
|
return _priority;
|
|
}
|
|
}
|
|
|
|
//message to use if verification rule is true
|
|
public string Message {
|
|
get {
|
|
return _message;
|
|
}
|
|
}
|
|
|
|
//VerificationRule.Required | Prohibited
|
|
public VerificationRule VerificationRule {
|
|
get {
|
|
return _rule;
|
|
}
|
|
}
|
|
|
|
//name of other control property to condition the assertion
|
|
//used as lhs of conditional expression
|
|
public string ConditionalProperty {
|
|
get {
|
|
return _conditionalProperty;
|
|
}
|
|
}
|
|
|
|
//VerificationConditionalOperator.Equals | NotEquals
|
|
//operator to apply to condition statement
|
|
public VerificationConditionalOperator VerificationConditionalOperator {
|
|
get {
|
|
return _conditionalOperator;
|
|
}
|
|
}
|
|
|
|
//value to use as rhs in conditional expression
|
|
public string ConditionalValue {
|
|
get {
|
|
return _conditionalValue;
|
|
}
|
|
}
|
|
|
|
public string GuidelineUrl {
|
|
get {
|
|
return _guidelineUrl;
|
|
}
|
|
}
|
|
}
|
|
|
|
public enum VerificationRule {
|
|
Required,
|
|
Prohibited,
|
|
NotEmptyString
|
|
}
|
|
|
|
public enum VerificationReportLevel {
|
|
Error,
|
|
Warning,
|
|
Guideline
|
|
}
|
|
|
|
public enum VerificationConditionalOperator {
|
|
Equals,
|
|
NotEquals
|
|
}
|
|
}
|
|
|