DateInput shows minvalue by default when bound to a nullable DateTime with value null. While this might not be a bug, in almost all cases, it would be much better to have the default value set to DateTime.Now rather than DateTime.Min which seem to be the case today.
When testing your datepicker control in NVDA, there are a number of accessibility issues.
I am using the latest version of NVDA 2021.3.3 on Chrome Version 98.0.4758.82 (Official Build) (64-bit). I will note that Jaws and Chrome work properly regarding the dropdown issues, so it may be an NVDA thing, but maybe some research can be done to see if there are some different aria attributes that will work so that if functions properly with both screen readers. For example this Aria Best Practices Date Combo Box example at least reads where the user is with the arrow keys. https://www.w3.org/TR/wai-aria-practices-1.2/examples/combobox/combobox-datepicker.html It is not perfect, but it is better than not being read at all.
And even outside of the date dropdown stuff, the date input portion (#1) above is an issue across the board. I know that it is a design decision that you guys have made, and that you have provided documentation as to why and how to use it, but most users are going to type in the slashes of a date, and it's not reasonable to write up a half page of documentation within my app to let users know how to use the control. I can't even put a short label that says enter date without slashes, because under some circumstances a slash is necessary, so it becomes confusing to the user, and screen reader users will get lost if they make a mistake because they are not informed that they have just switched to a different section.
Thanks.
I have set both the Format and FormatPlaceholder. When I programmatically set the @bind-Value to null the Format is rendered.
I would like the FormatPlaceholder to take effect instead of the Format.
Currently, if the ReadOnly parameter value is set to 'true,' the user can modify the value of the DateInput by using the arrow keys.
Reproduction: https://blazorrepl.telerik.com/mxaiabvd178zy7p948
For some reason I'm unable to select the date 01/03/2000 when using the date picker to select the date. Only thing special about this date is its exactly 24 years ago today.
I was able to reproduce in repl. https://blazorrepl.telerik.com/QyYFkdbU34QbG0Te32
I also attached a video so you can review the steps followed and result.
When the user navigates between the views, the DatePicker currently fires a ViewChanged event. This event provides the new view (Decade, Month etc.) but there is no way to detect the selection that the user made in the previous view.
For example, if am in the Decate view, as soon as I select a year, the DatePicker will switch to Month view. The problem that I am facing is that I cannot get the year selected from the Decade view. I need that, so I can display it in my custom HeaderTemplate.
When dragging the mouse to select the whole input value, only the first segment on the left remains selected after releasing the mouse. The issue is reproducible in the DatePicker demo once you select a date. Video: https://app.screencast.com/Eoa6Xj2MzfOPN.
The problem is only reproducible in Firefox, the whole input is properly selected in Chrome and Edge.
When you use the DisabledDates parameter of the picker and it is null, the component throws an error that it cannot Select from the IEnumerable:
<TelerikDatePicker @bind-Value="@theValue" DisabledDates="@DisabledDates" />
@code{
DateTime theValue { get; set; }
List<DateTime> DisabledDates { get; set; }
}
If I set a Min-Date like this:
<TelerikDatePicker @bind-Value="myDate"
Format="dd.MM.yyyy"
Min="@DateTime.Today.AddDays(1)">
</TelerikDatePicker>
clicking on the "Today" link in the calendar does not do anything!
If I don't set Min then a click on "Today" correctly sets the current date.
Regards,
René
In our application "Today" is NEVER a valid selection. But there is no way to turn it off.
Yes, we realize that we can create our own header template. But then we have to reproduce the next/previous functionality, for every single instance of the component -- and we have many dozens of them.