While it is often mis-used, I'd like to provide users of ezANOVA() (from the ez package for R) with the ability to specify covariates for ANCOVA. Since
ezANOVA() uses a combination of stats::aov() and car::ANOVA(), I think the simplest way for me to achieve ANCOVA within ezANOVA() is to simply compute two anovas, one that includes just the covariates as predictors from which I would obtain residuals that would be used as the predicted data for a second anova that uses the regular non-covariate predictors. Does anything look inherently wrong about this approach?
(P.S. I thought I'd also include some evaluations of ANCOVA's assumptions, like checking that the covariates don't correlate with any of the non-covariate predictors, and checking that the covariates' effects on the DV don't interact with those of the non-covariate predictors.)