Xpages 所需日期时间选择器始终为;aria invalid=false";

Xpages 所需日期时间选择器始终为;aria invalid=false";,xpages,Xpages,我不确定我是否错过了一件非常简单的事情。通常,XPages维护“aria required”和“aria invalid”属性以进行验证 然而,对于DateTime选择器(标准的),它总是aria invalid=“false” 下面是我在Domino9.0.1中使用的一个简单测试: <?xml version="1.0" encoding="UTF-8"?> <xp:view xmlns:xp="http://www.ibm.com/xsp/core"> <

我不确定我是否错过了一件非常简单的事情。通常,XPages维护“aria required”和“aria invalid”属性以进行验证

然而,对于DateTime选择器(标准的),它总是
aria invalid=“false”

下面是我在Domino9.0.1中使用的一个简单测试:

<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core">
    <xp:this.data>
        <xp:dominoDocument var="document1" formName="TestForm"></xp:dominoDocument>
    </xp:this.data>

    <xp:button value="Label" id="button1">
        <xp:eventHandler event="onclick" submit="true"
            refreshMode="partial" refreshId="panel1">
        </xp:eventHandler>
    </xp:button>

    <xp:panel id="panel1">
        <xp:inputText id="inputText1" required="true">
            <xp:dateTimeHelper id="dateTimeHelper1"></xp:dateTimeHelper>
            <xp:this.converter>
                <xp:convertDateTime type="date"></xp:convertDateTime>
            </xp:this.converter>
        </xp:inputText>
        <xp:messages id="messages1"></xp:messages>
    </xp:panel>
</xp:view>

单击按钮之前生成的HTML包含:

<input type="text" aria-haspopup="true" role="textbox" data-dojo-attach-point="textbox,focusNode" autocomplete="off" class="dijitReset dijitInputInner" aria-invalid="false" tabindex="0" aria-required="true" id="view:_id1:inputText1" value="">

单击后,我可以看到消息组件已聚合,但aria invalid为false

<input type="text" aria-haspopup="true" role="textbox" data-dojo-attach-point="textbox,focusNode" autocomplete="off" class="dijitReset dijitInputInner" aria-invalid="false" tabindex="0" aria-required="true" id="view:_id1:inputText1" value="">


(我删除了包装输入的dojo内容)

经过一些挖掘,我发现这个问题与XPages无关


如果验证失败,XPages将正确提供
aria invalid
属性。但是,dojo控件会在渲染期间自动更改它。因此,除非您向Dojo组件呈现代码中注入更正,否则这是不可能的。

您的验证器在哪里?Tim,这里有required=“true”。。。在您提问之前,我也尝试了正式的RequiredValidator:)这些aria属性通常与可访问性相关,帮助web应用程序对残疾人更有用。我不认为定期验证会在这里生效,但我已经要求团队中的专家确认这一点。验证工作正常。它只是不能正确地生成aria属性。