239 Posts

Over the past few weeks, I’ve been working on making a legacy web application more accessible.  Key factors in accessibility are being keyboard and narrator friendly.  These factors are governed by various “A11yMAS” guidelines.  For this post, I’ll focus on a particular AngularJS datatimepicker (calendar) directive, which is used in the legacy web application, that lacked keyboard accessibility completely. 

More Link

A few weeks ago, I picked up a treadmill. It’s kind of nice having a treadmill during the winter months so that one does not have to run in the dark while the days are short.

I immediately discovered that the typical apps that I use on WearOS are painfully inadequate for recording indoor activities, though.

More Link

Earlier today, I was struggling a bit to get a .NET Core application’s authentication mechanism to behave appropriately for both MVC (view) and API (ajax/json) requests. In .NET Core 2.x, handling this is not as straight-forward as it could be, but it’s doable. Effectively, we want a user requesting a view through a normal browser request to get an authentication challenge / login page, but we want API requests to receive a 401 response and end it there. Under normal circumstances, though, both types of requests would receive the login page.

More Link

Angular has built-in mechanisms for dealing with unhandled exceptions. In an application, we only need to provide this handler when we want to customize the display and handling of errors.

More Link

A while back, I blogged about using open generics with .NET Core Dependency Injection. It really does work great for an out of the box experience. However, one drawback is that you can’t use a factory pattern like you can when injecting in a type-specific way.

More Link

The other day, I wanted to create a really simple console application using .NET Core 2.x. Out of the box, however, it appeared that there were a lot of compromises to a console application as compared to a Web/Kestrel hosted app. The main things that were missing were dependency injection and user secrets.

More Link